问答详情
源自:1-13 二叉树中间节点的删除原理及实现(2)

如果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;

提问者:孙金科4053749 2018-08-27 15:29

个回答

  • 慕哥8236510
    2018-10-04 12:41:12

    让该节点的值等于右子树的最小节点的值,删除右子树中最小节点,和有没有左子树没关系