import java.util.*; /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } */ public class Solution { public ListNode EntryNodeOfLoop(ListNode pHead) { ListNode slow = pHead; ListNode fast = pHead; while (slow != null && fast != null) { slow = slow.next; fast = fast.next; if (fast == null) { return null; } fast = fast.next; // 有环 if (slow == fast) { fast = pHead; while (slow != fast) { slow = slow.next; fast = fast.next; } return slow; } } return null; } }