http://www.cnblogs.com/hiddenfox/p/3408931.html 说的很细
/** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */ public class Solution { public static ListNode detectCycle(ListNode head) { ListNode slow = head; ListNode fast = head; while (true) { if (fast == null || fast.next == null) { return null; } slow = slow.next; fast = fast.next.next; if (fast == slow) { break; } } slow = head; while (slow != fast) { slow = slow.next; fast = fast.next; } return slow; } }l