我正在尝试在java中编写一个Vine方法/骨干方法但是我似乎没有正确地执行它,因为我遇到了运行时错误。
这是我到目前为止所做的:
public void vine() {
class<T> p = new class<T>(), tmp, prev;
tmp = root;
while(tmp != null)
{
if( tmp.left != null )
{
prev = tmp.right;
tmp.right = prev.left;
prev.left = tmp;
tmp = tmp;
}
else
{
tmp = tmp.right;
}
}
}
运行时错误似乎在这一行:tmp.right = prev.left;
有人可以帮忙吗?
答案 0 :(得分:0)
可能tmp.right在
处为空prev = tmp.right;
然后你将获得NPE
tmp.right = prev.left;
您的代码缺少“root”实际上是什么。