142. Linked List Cycle II

Posted markleebyr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了142. Linked List Cycle II相关的知识,希望对你有一定的参考价值。

Given a linked list, return the node where the cycle begins. If there is no cycle, return null.

Note: Do not modify the linked list.

Follow up:
Can you solve it without using extra space?

//之间做过 有推倒

public class Solution {

    public ListNode detectCycle(ListNode head) {

        ListNode slow = head;

        ListNode fast = head;

        

        while (fast!=null && fast.next!=null){

            fast = fast.next.next;

            slow = slow.next;

                    

            if (fast == slow){

                ListNode slow2 = head; 

                while (slow2 != slow){

                    slow = slow.next;

                    slow2 = slow2.next;

                }

                return slow;

            }

        }

        return null;

    }

}

以上是关于142. Linked List Cycle II的主要内容,如果未能解决你的问题,请参考以下文章

142. Linked List Cycle II

142. Linked List Cycle II

LeetCode141 Linked List Cycle. LeetCode142 Linked List Cycle II

142. Linked List Cycle II

142. Linked List Cycle II

142. Linked List Cycle II