summaryrefslogtreecommitdiff
path: root/pkg/rbtree/rbtree.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/rbtree/rbtree.go')
-rw-r--r--pkg/rbtree/rbtree.go5
1 files changed, 3 insertions, 2 deletions
diff --git a/pkg/rbtree/rbtree.go b/pkg/rbtree/rbtree.go
index 5cc9ac6..13d9602 100644
--- a/pkg/rbtree/rbtree.go
+++ b/pkg/rbtree/rbtree.go
@@ -330,7 +330,8 @@ func (t *Tree[K, V]) Delete(key K) {
return
}
- var nodeToRebalance, nodeToRebalanceParent *Node[V]
+ var nodeToRebalance *Node[V]
+ var nodeToRebalanceParent *Node[V] // in case 'nodeToRebalance' is nil, which it can be
needsRebalance := nodeToDelete.Color == Black
switch {
@@ -410,7 +411,7 @@ func (t *Tree[K, V]) Delete(key K) {
if needsRebalance {
node := nodeToRebalance
- nodeParent := nodeToRebalanceParent // in case 'node' is nil, which it can be
+ nodeParent := nodeToRebalanceParent
for node != t.root && node.getColor() == Black {
if node == nodeParent.Left {
sibling := nodeParent.Right