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的主要内容,如果未能解决你的问题,请参考以下文章