空指针Splay树

时间:2013-03-12 05:51:43

标签: java rotation splay-tree

我正在为一个展开树工作一个正确的旋转方法。当我尝试运行我的程序时,我一直得到一个空指针异常,但我不知道为什么。这是我的树

      5
     /
    2
   /
  1

这是我得到空指针的地方,它在lr赋值。 lr应该为null,因为2没有权限,但节点只是为空,然后程序应该继续?或者因为它的null我必须首先检查2是否有权利?

    Node<E> p = findParent(x.getData());    
    Node<E> l = x.getLeft();
    Node<E> lr = l.getRight();

1 个答案:

答案 0 :(得分:0)

如果lnull,则l.getRight()将抛出空指针异常。

您需要测试l是否为null

Node<E> lr = (l==null)?null:l.getRight();

如果nulllr,该代码会将l分配给null,如果l.getRight()不是{{1},则会分配l }}