双指针法:
当判断出有环,让快指针指向链表头,然后和慢指针每次均前进一个节点,相遇的节点即入口。
import java.util.*; public class Solution { public ListNode EntryNodeOfLoop(ListNode pHead) { ListNode fast = pHead; ListNode slow = pHead; while(fast != null && fast.next != null){ fast = fast.next.next; slow = slow.next; if(fast == slow){ fast = pHead; while(fast != slow){ fast = fast.next; slow = slow.next; } return fast; } } return null; } }