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.

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

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;

    }

}

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄