【问题标题】:AVL Tree Insert NullPointerException?AVL 树插入 NullPointerException?
【发布时间】:2014-10-20 21:43:59
【问题描述】:

我有一个有效的二叉搜索树插入方法。我正在尝试添加一个 triNodeRestructuring 方法来平衡它,如果它不是高度平衡的。在我的插入方法中,插入项目后,在插入方法的末尾,我有一个 if 语句来检查它是否高度平衡。如果是,则打印出“高度平衡”。否则,它会打印出“高度不平衡”,然后在我刚刚插入的项目上调用我的 triNodeRestructure 方法。当我运行我的代码时,它在我调用 triNodeRestructure(item) 时给了我一个空指针异常。它将它追溯到我的 triNodeRestructure 方法的一行,上面写着:

AVLNode<E> z = x.getParent().getParent();

我有一个用于 setPArent 的 setter 和一个用于 getParent 的 getter。这些是我仅有的父方法。

我按相应的顺序插入了 50、49、48。因此,基于此,z 应该是 50,因为 x 是我插入的最后一个节点,即 48。为什么会出现空指针异常? Z 不为空,因此不应该发生这种情况。任何帮助将不胜感激。

【问题讨论】:

    标签: java insert nullpointerexception tree binary-search-tree


    【解决方案1】:

    我在发布此问题后不久就发现了问题所在。我忘记在我的 insert 方法中编写 setParent() 行,该行从未为插入的节点设置父节点。傻我。

    【讨论】:

      猜你喜欢
      • 2021-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多