所以我有一个完全正常工作的二叉树,存储在每个节点中的值如下:
public Node(Comparable data) {
this.data = data;
parent = null;
left = null;
right = null;
}
如果我想删除根并将左或右子项设为根,我需要将根设置为左/右子项,然后将父项设为null。
唯一一次出现这种情况的时候,所有左边节点都是空的,而根是最小的,右侧也是如此。
这是我尝试过但它会抛出nullPointerException。
root = root.getLeft();
root.setParent(null);
我需要所有必要的吸气剂和安装者。
答案 0 :(得分:0)
首先,您需要检查它是否具有左节点/子节点。 我不知道getter / setter代码,但我认为get代码不处理异常 因此,简而言之,您需要检查它是否具有左节点。仅当代码不为空时才调用获取代码。