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会不会把我们没操作的部分直接回收处理了?就可以用一行代码解决了。