142. Linked List Cycle II
Posted 我的名字叫周周
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了142. Linked List Cycle II相关的知识,希望对你有一定的参考价值。
/* * 142. Linked List Cycle II * 11.28 by Mingyang * 这个题目一开始自己做的时候把方法搞错了,这个是先快慢相遇,相遇后快的移动到head * 慢的快的一步一步走,直到相遇就是我们最终的点 */ public static ListNode detectCycle(ListNode head) { ListNode slow = head; ListNode fast = head; while (true) { if (fast == null || fast.next == null) { return null; // 遇到null了,说明不存在环 } slow = slow.next; fast = fast.next.next; if (fast == slow) { break; // 第一次相遇在Z点 } } slow = head; // slow从头开始走, while (slow != fast) { // 二者相遇在Y点,则退出 slow = slow.next; fast = fast.next; } return slow; }
以上是关于142. Linked List Cycle II的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode141 Linked List Cycle. LeetCode142 Linked List Cycle II