package main
//双指针法
func EntryNodeOfLoop(pHead *ListNode) *ListNode{
if pHead == nil || pHead.Next == nil {
return nil
}
fast , slow := pHead, pHead
for fast != nil && fast.Next.Next != nil {
fast = fast.Next.Next
slow = slow.Next
if fast == slow {
tmp := pHead
for tmp != slow {
tmp = tmp.Next
slow = slow.Next
}
return tmp
}
}
return nil
}
京公网安备 11010502036488号