美文网首页
141. Linked List Cycle

141. Linked List Cycle

作者: JERORO_ | 来源:发表于2018-06-26 20:56 被阅读0次

问题描述

Given a linked list, determine if it has a cycle in it.

思路

用两个pointer,slow 和 fast
同时出发,slow每次往前一步,fast每次往前两步
如果相遇,说明有loop
否则没有
一定会相遇,因为在slow进入loop的时候,fast已经在loop里面,每次追一步,一定能追上(小学奥数追及问题)

    def hasCycle(self, head):
        """
        :type head: ListNode
        :rtype: bool
        """
        slow , fast = head , head
        while fast and fast.next:
            slow,fast = slow.next,fast.next.next
            if slow is fast: 
                return True
        return False

相关文章

网友评论

      本文标题:141. Linked List Cycle

      本文链接:https://www.haomeiwen.com/subject/tvtvyftx.html