问题描述
正在解决单链表中的循环检测问题,并且遇到了While循环中似乎无法理解的问题
对这两个之间的区别有何解释?因为除了顺序以外,我似乎无法找到它们之间的区别,但是我设置了一个AND语句,所以我认为无论顺序如何,它们都应该工作,但我遇到的情况似乎并非如此
解决方法
在 AND 条件下,将首先检查第一个条件,如果该条件为False,则不会转到第二个条件并从那里返回。
在这里,而第一个是
oneUp.next != null
如果 oneUp 的值为空,则将无法访问 oneUp 的下一个。 因此,我们需要验证 OneUp 的值,使其不应该为null。
如果它为null,它将不会去检查下一个条件。
因此必须首先检查oneUp != null
。