diff --git a/ranked_tree.py b/ranked_tree.py index 261c9ed..42358f0 100644 --- a/ranked_tree.py +++ b/ranked_tree.py @@ -119,17 +119,9 @@ class RankedTree(Generic[T]): self._transplant(node, node.left) else: n = Node.minimum(node.right) - y, parent = None, (n.parent if n.parent is not node else n) - - if n.parent is not node: - parent = n.right if n.right else n.parent - self._transplant(n, n.right) - n.right = node.right - n.right.parent = n - - self._transplant(node, n) - n.left = node.left - n.left.parent = n + node.value = n.value + n.value = None + return self._delete_node(n) return (y, parent)