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

1.開辟字典,有額外空間

class Solution(object):
    def hasCycle(self, head):
        """
        :type head: ListNode
        :rtype: bool
        """
        dict1={}
        if not head or not head.next:
            return False
        count=-1
        while head and head not in dict1:
            count+=1
            dict1[head]=count
            if head.next:
                head = head.next
            else:
                return False
        return True

2.快慢指針,沒有額外空間

class Solution(object):
    def hasCycle(self, head):
        """
        :type head: ListNode
        :rtype: bool
        """
        if not head or not head.next:
            return False
        quick=slow=head
        # 下邊這個循環(huán)不用擔(dān)心死循環(huán),因為只要出現(xiàn)環(huán),就會被if語句捕捉,不會永遠轉(zhuǎn)下去的
        # 若無環(huán),當快指針遍歷到最后時,就會結(jié)束循環(huán)
        while quick.next and quick.next.next:
            quick=quick.next.next
            slow=slow.next
            if quick==slow:
                return True
        return False
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,665評論 1 32
  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時實驗課主要內(nèi)容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 6,337評論 0 10
  • 也許每個人出生的時候都會以為這世界是為他一個人而存在的,當他發(fā)現(xiàn)自己錯了的時候,他便開始長大。
    汐茗閱讀 206評論 0 1
  • 文/程程 圖/網(wǎng)絡(luò) 那最早的是18世紀把這種方法用在壞血病治療上,通過對比做大量的實驗,人們知道橘子加上檸檬水...
    程程的情懷閱讀 403評論 1 3
  • 畢加索的畫我從來欣賞不了,也就沒了興趣,而地圖這種類型的圖畫卻是我的心頭肉。小時候,爸爸就教我辨別方位,上北下南,...
    虎斑愛寫字閱讀 938評論 1 2

友情鏈接更多精彩內(nèi)容