Fix remove() in binary search tree.

This commit is contained in:
krahets
2023-05-26 20:34:22 +08:00
parent ee716a2c23
commit b39e79be85
9 changed files with 111 additions and 50 deletions

View File

@@ -123,10 +123,15 @@ class BinarySearchTree {
// = 0 / 1 child = null /
let child = cur?.left != nil ? cur?.left : cur?.right
// cur
if pre?.left === cur {
pre?.left = child
if cur != root {
if pre?.left === cur {
pre?.left = child
} else {
pre?.right = child
}
} else {
pre?.right = child
//
root = cur;
}
}
// = 2