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, fast = pHead; do { if (slow.next == null) { break; } slow = slow.next; if (fast.next == null || fast.next.next == null) { break; } fast = fast.next.next; } while (slow != fast); if (fast.next == null || fast.next.next == null) { return null; } // 寻找入口节点 slow = pHead; while (slow != fast) { slow = slow.next; fast = fast.next; } return slow; } }