1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| public class Solution { public ListNode detectCycle(ListNode head) { ListNode fast = head, slow = head; while (fast != null && fast.next != null) { fast = fast.next.next; slow = slow.next;
if (fast == slow) { ListNode node = head; while (node != slow) { node = node.next; slow = slow.next; } return node; } }
return null; } }
|
References
142. Linked List Cycle II
剑指 Offer II 022. 链表中环的入口节点