我正在尝试remove(node cRoot, Object o)
为排序的二叉树编写一个函数。
这是我到目前为止所拥有的:
private boolean remove(Node cRoot, Object o) {
if (cRoot == null) {
return false;
}
else if (cRoot.item.equals(o)) {
//erase node fix tree
return true;
}
else if (((Comparable)item).compareTo(cRoot.item)<=0){
return remove(cRoot.lChild, o);
}
else {
return remove(cRoot.rChild,o);
}
}
它不能正常工作。要删除节点,您必须修复树以修复孔。这应该怎么做?