Follow up:
Can you solve it without using extra space?
解题思路:
给两个指针,一个每次走一步,另外一个每次走2步。如果两者相遇,则有圈,否则没有圈
Java code
public boolean hasCycle(ListNode head) { ListNode p = head; ListNode pn = head; while(p != null && pn != null && pn.next != null){ p = p.next; pn = pn.next.next; if(p != null && p == pn) return true; } return false; }
No comments:
Post a Comment