如果6没有左节点又该怎么办?
如果6没有左节点又该怎么办?
var findMinNode = function (node) {
if(node){
while (node && node.left !== null) {
node = node.left;
}
return node;
}
return null;
}
和
var minNode = function (node) {
if(node){
while (node && node.left !== null) {
node = node.left;
}
return node.key;
}
return null;
}
雷同,我觉得没必要写两个。
可以写为
var aux = minNode(node.right);
node.key = aux;
node.right = removeNode(node.right, aux);
去掉findMinNode;