/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
*/
public class Solution {
public ListNode EntryNodeOfLoop(ListNode pHead) {
if(pHead==null||pHead.next==null){
return null;
}
ListNode fast = pHead;
ListNode slow = pHead;
while(fast!=null){
fast=fast.next.next;
slow=slow.next;
if(fast==slow){
break;
}
}
if(fast==null){
return null;
}
while(pHead!=slow){
pHead=pHead.next;
slow=slow.next;
}
return pHead;
}
}