题目描述: 思考: 建立一个list,存储节点,出现重复,就返回。 class Solution:def EntryNodeOfLoop(self, pHead):if pHead is None or pHead.next is None:return Nonemem = []while pHead not in mem:mem.append(pHead)pHead = pHead.n
JZ23链表中环的入口结点 思路: 采用双指针,设定快指针fast_p是慢指针slow_p的2倍,如果有环,则当两指针第一次相遇时慢指针一定不可能在环中走超过一圈,因此假设头结点到环的开头距离为a,环开头到第一次相遇节点的距离为b,第一次相遇到环开头距离为c,因此快指针fast_p走过的距离=a + (b+c)k +b (k为大于1的正整数),慢指针slow_p走过的距离= a + b