删除最小元素代码能否如下替换
来源:6-11 删除二分搜索树的最大元素和最小元素
qq_白玉_1
2018-08-22
private Node removeMin(Node node){
if(node.left == null){
// Node rightNode = node.right;
// node.right = null;
// return rightNode;
size--;
return node.right; //注释部分改为这一句
}
node.left = removeMin(node.left);
return node;
}
我们删除最小节点的时候,本质应该是改变父亲节点的左孩子指向,而注释部分代码是对待删除节点的操作,是不是不需要这么做?直接将待删除节点的右子树嫁接给父亲节点就行,java会不会把我们没操作的部分直接回收处理了?就可以用一行代码解决了。
写回答
1回答
-
塔拆
2018-08-23
你这样并没有删除最小的节点,它还是在那,你只是改变了node.right的指向所以node还是使用了所以不会回收
012018-08-23
相似问题