From 38ea09c586fd46191d6a0e53357401ef2015509a Mon Sep 17 00:00:00 2001 From: Shaurya Bisht <87357655+ShauryaDusht@users.noreply.github.com> Date: Sun, 13 Oct 2024 11:14:23 +0000 Subject: [PATCH] improved del_node func(11) --- data_structures/binary_tree/avl_tree.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/data_structures/binary_tree/avl_tree.py b/data_structures/binary_tree/avl_tree.py index 16a590064..d37c1568c 100644 --- a/data_structures/binary_tree/avl_tree.py +++ b/data_structures/binary_tree/avl_tree.py @@ -209,7 +209,6 @@ def get_min_value_node(node: MyNode) -> MyNode: current_node = current_node.get_left() return current_node - def del_node(root: MyNode | None, data: Any) -> MyNode | None: if root is None: print("Nothing to delete") @@ -224,11 +223,10 @@ def del_node(root: MyNode | None, data: Any) -> MyNode | None: return root.get_right() elif root.get_right() is None: return root.get_left() - right_child = root.get_right() - assert right_child is not None # Ensure root.get_right() is not None + assert right_child is not None temp = get_min_value_node(right_child) - assert temp is not None # Ensure get_min_value_node doesn't return None + root.set_data(temp.get_data()) root.set_right(del_node(root.get_right(), temp.get_data()))