java,快慢指针


    public ListNode EntryNodeOfLoop(ListNode pHead) {
        if(pHead==null||pHead.next==null||pHead.next.next==null){
            return null;
        }
        ListNode fast=pHead.next.next,slow=pHead.next;
        while(fast!=slow){
            if(fast==null){
                return fast;
            }
            else{
                fast=fast.next.next;
                slow=slow.next;
            }
        }
        fast=pHead;
        while(fast!=slow){
            fast=fast.next;
            slow=slow.next;
        }
        return fast;
    }
}

仅供各位小伙伴参考吧,我也是初学者