标签:
Linked List Cycle
问题:
Given a linked list, determine if it has a cycle in it.
思路:
快指针,慢指针方法
我的代码:
public class Solution { public boolean hasCycle(ListNode head) { if(head == null || head.next == null) return false ; ListNode one = head ; ListNode two = head.next.next ; while(one != null && two != null) { if(one == two) return true ; one = one.next ; if(two.next == null) break ; two = two.next.next ; } return false ; } }
他人代码:
public class Solution { public boolean hasCycle(ListNode head) { if (head == null) { return false; } ListNode fast = head, slow = head; do { if (fast.next == null || fast.next.next == null) { return false; } fast = fast.next.next; slow = slow.next; } while (fast != slow); return true; } }
学习之处:
标签:
原文地址:http://www.cnblogs.com/sunshisonghit/p/4313324.html