快慢指针 不要边界判断了,就用异常
class Solution:
def EntryNodeOfLoop(self, pHead):
if not pHead.next:return pHead.next
fast,slow = pHead,pHead
while fast or slow:
try:
fast = fast.next.next
slow = slow.next
if slow == fast:
break
except:
return None
if slow == pHead:return slow
else:slow = pHead
while fast or slow:
fast = fast.next
slow = slow.next
if slow == fast:
return slow