def insertNode(self, root, node):
        cur = root
        if not root:
            root = node
            return root

        while cur:
            if cur.val == node.val:
                return root
            elif cur.val > node.val:
                if cur.left:
                    cur = cur.left
                else:
                    cur.left = node
                    return root
            else:
                if cur.right:
                    cur = cur.right
                else:
                    cur.right = node
                    return root
Insertion without balance should be straightforward
dataset/ETHPy150Open algorhythms/LintCode/Insert Node in a Binary Search Tree.py/Solution.insertNode