我的数据结构如下:
[对象] -> [对象] -> [对象]
每个对象都有一个指向另一个对象的右指针。
while (currentParcel.getRight() != null) {
currentParcel = currentParcel.getRight();
}
此代码进入无限循环。
按照我的逻辑,它应该尽可能地向右移动,并且只有当它达到 null 时,currentParcel 对象才应该是最后一个带有指向 null 的指针的对象(右侧没有对象)。
如何解决无限循环?
我试过用以下方式写它:
boolean found = false;
try {
while (found == false) {
currentParcel = currentParcel.getRight();
if (currentParcel.getRight() == null)
{
currentParcel.addRight(p);
System.out.println(currentParcel);
found = true;
}
}
}
catch (NullPointerException e) {}
但这对我不起作用。它只是没有尽可能地向右移动。