def insertIntoBST(self, root: Optional[TreeNode], val: int) -> Optional[TreeNode]:
def helper(root, val):
if val >= root.val:
if not root.right:
root.right = TreeNode(val)
else:
helper(root.right, val)
elif val < root.val:
if not root.left:
root.left = TreeNode(val)
else:
helper(root.left, val)
if not root:
return(TreeNode(val))
helper(root, val)
return(root)