删除二进制searach树中的根父 - Java

时间:2015-11-21 16:37:44

标签: java nullpointerexception binary-search-tree

所以我有一个完全正常工作的二叉树,存储在每个节点中的值如下:

 public Node(Comparable data) {
                this.data = data;
                parent = null;
                left = null;
                right = null;
            }

如果我想删除根并将左或右子项设为根,我需要将根设置为左/右子项,然后将父项设为null。

唯一一次出现这种情况的时候,所有左边节点都是空的,而根是最小的,右侧也是如此。

这是我尝试过但它会抛出nullPointerException。

root = root.getLeft();
root.setParent(null);

我需要所有必要的吸气剂和安装者。

1 个答案:

答案 0 :(得分:0)

首先,您需要检查它是否具有左节点/子节点。 我不知道getter / setter代码,但我认为get代码不处理异常 因此,简而言之,您需要检查它是否具有左节点。仅当代码不为空时才调用获取代码。