网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化学习资料的朋友,可以戳这里获取
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
def exitLoop(head):
if not head:
return None
p1 = p2 = head
while p2 and p2.next:
p1 = p1.next
p2 = p2.next.next
if p1 == p2:
return True
return False
def findEntryofLoop(head):
if not head:
return None
slow = head
fast = head
while slow.next and fast.next.next:
slow= slow.next
fast = fast.next.next
# 当两个指针相遇时,说明有环,循环结束
if slow == fast:
break
# 快指针停留在相遇处,慢指针回到起点
if not fast or not fast.next:
return None
slow = head
# 两个指针每次向前移动1,当再次相遇时,相遇点即为入环节点
while slow != fast:
slow = slow.next
fast = fast.next
return slow