首页 > 代码库 > 【leetcode】Linked List Cycle (python)
【leetcode】Linked List Cycle (python)
题目分析见这里
class Solution: # @param head, a ListNode # @return a list node def detectCycle(self, head): if None == head or None == head.next: return None pfast = head pslow = head #找第一次相遇的点,若存在环路,则肯定会相遇 while pfast and pfast.next: pfast = pfast.next.next pslow = pslow.next if pslow == pfast: break if pslow != pfast: return None #pfast从头开始,则下次相遇的点就是循环开始的点 pfast = head while True: if pfast == pslow: return pfast pfast = pfast.next pslow = pslow.next
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。