Update bst_insert_node.py

This commit is contained in:
bt3gl 2023-08-08 15:46:10 -07:00 committed by GitHub
parent a3ce5db3a5
commit cb2909d421
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -5,38 +5,35 @@
def bst_insert_iterative(root, val): def bst_insert_iterative(root, val):
new_node = Node(val) node = root
this_node = root while node:
while this_node: if val > node.val:
if not node.right:
if val > this_node.val: node.right = Node(val)
if not this_node.right: break
this_node.right = new_node
return root
else: else:
this_node = this_node.right node = node.right
else: else:
if not this_node.left: if not node.left:
this_node.left = new_node node.left = Node(val)
return this_node break
else: else:
this_node = this_node.left node = node.left
return new_node return root
def bst_insert_recursive(root, val): def bst_insert_recursive(root, val):
if not root: if root is None:
return Node(val) return Node(val)
if val > root.val: if val > root.val:
root.right = self.insertIntoBST(root.right, val) root.right = self.bst_insert_recursive(root.right, val)
else: else:
root.left = self.insertIntoBST(root.left, val) root.left = self.bst_insert_recursive(root.left, val)
return root return root