LeetCode 141 [Linked List Cycle]

原題

給定一個鏈表,判斷它是否有環(huán)。

樣例
給出 -21->10->4->5, tail connects to node index 1,返回 true

解題思路

  • 快慢指針,都從起點出發(fā), 慢指針一次一步,快指針一次兩步,如果有環(huán)則一定存在某時刻快慢指針相交

完整代碼

# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution(object):
    def hasCycle(self, head):
        """
        :type head: ListNode
        :rtype: bool
        """
        slow, fast = head, head
        while fast and fast.next:
            slow = slow.next
            fast = fast.next.next
            if slow == fast:
                return True
        return False
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容