|
|
@ -123,7 +123,7 @@ class BinarySearchTree {
|
|
|
|
// 当子节点数量 = 0 / 1 时, child = null / 该子节点
|
|
|
|
// 当子节点数量 = 0 / 1 时, child = null / 该子节点
|
|
|
|
let child = cur?.left != nil ? cur?.left : cur?.right
|
|
|
|
let child = cur?.left != nil ? cur?.left : cur?.right
|
|
|
|
// 删除节点 cur
|
|
|
|
// 删除节点 cur
|
|
|
|
if cur != root {
|
|
|
|
if cur !== root {
|
|
|
|
if pre?.left === cur {
|
|
|
|
if pre?.left === cur {
|
|
|
|
pre?.left = child
|
|
|
|
pre?.left = child
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
@ -131,7 +131,7 @@ class BinarySearchTree {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
// 若删除节点为根节点,则重新指定根节点
|
|
|
|
// 若删除节点为根节点,则重新指定根节点
|
|
|
|
root = cur;
|
|
|
|
root = child
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// 子节点数量 = 2
|
|
|
|
// 子节点数量 = 2
|
|
|
|