gpt4 book ai didi

java - 空指针伸展树(Splay Tree)

转载 作者:行者123 更新时间:2023-12-01 04:48:54 25 4
gpt4 key购买 nike

我正在研究伸展树(Splay Tree)的右旋转方法。当我尝试运行程序时,我不断收到空指针异常,但我不确定为什么。这是我的树

      5
/
2
/
1

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

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

最佳答案

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

您需要测试l是否为null:

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

如果 lnull,该代码会将 null 分配给 lr,并且会分配 l .getRight() 如果 l 不为 null

关于java - 空指针伸展树(Splay Tree),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15354224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com