You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
delete function in BST not working while deleting first element if its the lowest #94
Use the following code, it covers all the cases (root deletion, as well as if there's only one element in the tree, i.e. root), if there are only left subtree to the root and if there is only right subtree to the root:
HOPE THAT HELPS! :) :)
def delete_node(self, value):
if value < self.data:
if self.left:
self.left = self.left.delete_node(value)
elif value > self.data:
if self.right:
self.right = self.right.delete_node(value)
else:
if self.left is None and self.right is None:
self.data = None
return None
else:
if self.right:
min_val = self.right.find_min()
self.data = min_val
self.right = self.right.delete_node(min_val)
elif self.left:
max_val = self.left.find_max()
self.data = max_val
self.left = self.left.delete_node(max_val)
return self
Activity
RohanMehraa commentedon May 5, 2025
Use the following code, it covers all the cases (root deletion, as well as if there's only one element in the tree, i.e. root), if there are only left subtree to the root and if there is only right subtree to the root:
HOPE THAT HELPS! :) :)