imrpoved del_node(6)

This commit is contained in:
Shaurya Bisht 2024-10-13 10:13:54 +00:00
parent ae8735eb1a
commit c01e6e5041

View File

@ -10,7 +10,7 @@ from __future__ import annotations
import math import math
import random import random
from typing import Any, Optional from typing import Any
class MyQueue: class MyQueue:
@ -195,17 +195,19 @@ def get_left_most(root: MyNode) -> Any:
return root.get_data() return root.get_data()
def get_balance(node: MyNode) -> int: def get_balance(node: MyNode | None) -> int:
if node is None: if node is None:
return 0 return 0
return get_height(node.get_left()) - get_height(node.get_right()) return get_height(node.get_left()) - get_height(node.get_right())
def get_min_value_node(node: MyNode) -> MyNode: def get_min_value_node(node: MyNode | None) -> MyNode | None:
current = node if node is None:
while current.get_left() is not None: return None
current = current.get_left() current_node = node
return current while current_node.get_left() is not None:
current_node = current_node.get_left()
return current_node
def del_node(root: MyNode | None, data: Any) -> MyNode | None: def del_node(root: MyNode | None, data: Any) -> MyNode | None: