// 从二分搜索树中删除键为key的节点
@Override
public V remove(K key){
Node node = getNode(root, key);
if(node != null){
root = remove(root, key);
return node.value;
}
return null;
}
private Node remove(Node node, K key){
if( node == null )
return null;
........
老师这里的代码,如果在上面的remove中已经判断node是否为空,那么进入递归函数的条件是node不为空,为什么递归函数的其中一个终止条件还要判断新的node是否为空呢?这样不是永远不会有if(node == null)的情况出现吗?