这道题其实几天前刚做过,所以还记得,快慢指针,别的是细节问题。
是可以写得更简单,但是我这样理解了,就这样吧。
public boolean hasCycle(ListNode head) {
if(head==null||head.next==null)return false;
ListNode node1=head;
ListNode node2=head.next;
while(true){
if(node2==null||node2.next==null){
return false;
}
if(node1==node2){
return true;
}
node1=node1.next;
node2=node2.next.next;
}
}