昨天卡在不曉得為什麼pos正數最後面和倒數1記憶體指向的位置不一樣,
用了關鍵字"linked list 記憶體"、"Python 列表 記憶體"等字眼搜尋,仍沒找到相關解釋或介紹...
但今天仍會研究關於這題的其他解法
同樣昨天的參考1連結,還有提供其他的解決方法:
def hasCycle(self, head):
slow = fast = head
while fast and fast.next:
slow = slow.next
fast = fast.next.next
if slow == fast:
return True
return False
在連結中他也有說明,這個解法的意思就是,如果head是一個環的話,slow和fast兩個指針到最後一定會相等
是否繼續判斷的標準是用比較快的fast和fast.next是否有東西作為標準,程式碼變得比較簡短
但在這樣的方式做pos="3"和pos="-1"的結果也是一樣的,
感覺python裡面位置-1和位置3是存不同的記憶體位置的??
參考1141. Linked List Cycle [easy] (Python)