141 環形鍊錶

2021-10-03 16:36:33 字數 1554 閱讀 9453

給定乙個鍊錶,判斷鍊錶中是否有環。

為了表示給定鍊錶中的環,我們使用整數 pos 來表示鍊錶尾連線到鍊錶中的位置(索引從 0 開始)。 如果 pos 是 -1,則在該鍊錶中沒有環。

# definition for singly-linked list.

# class listnode:

# def __init__(self, x):

# self.val = x

# self.next = none

class

solution

:def

hascycle

(self, head: listnode)

->

bool

: a=head

if head==

none

:return

false

b=while a.

next

:if a.

next

in b:

return

true

else

: b.add(a.

next

) a=a.

next

return

false

執行用時 :48 ms, 在所有 python3 提交中擊敗了90.93%的使用者

記憶體消耗 :17 mb, 在所有 python3 提交中擊敗了5.04%的使用者

# definition for singly-linked list.

# class listnode:

# def __init__(self, x):

# self.val = x

# self.next = none

class

solution

:def

hascycle

(self, head: listnode)

->

bool

: x=listnode(

"x")

while head!=

none

:if head==x:

return

true

b=head.

next

head.

next

=x head=b

return

false

把每個節點斷開,連線到節點x,同時往後遍歷。如果遇到none則不存在迴圈,如果遇到節點x則存在迴圈

執行用時 :60 ms, 在所有 python3 提交中擊敗了44.96%的使用者

記憶體消耗 :14.8 mb, 在所有 python3 提交中擊敗了99.52%的使用者

141 環形鍊錶

給定乙個鍊錶,判斷鍊錶中是否有環。高階 你能否不使用額外空間解決此題?乙個快指標走兩步 乙個慢指標走一步 如果相遇就有環 不然沒環 class solution def hascycle self,head type head listnode rtype bool index1 head inde...

141 環形鍊錶

鏈結 給定乙個鍊錶,判斷鍊錶中是否有環。為了表示給定鍊錶中的環,我們使用整數 pos 來表示鍊錶尾連線到鍊錶中的位置 索引從 0 開始 如果 pos 是 1,則在該鍊錶中沒有環。示例1輸入 head 3,2,0,4 pos 1 輸出 true 解釋 鍊錶中有乙個環,其尾部連線到第二個節點。示例2 輸...

141 環形鍊錶

給定乙個鍊錶,判斷鍊錶中是否有環。為了表示給定鍊錶中的環,我們使用整數 pos 來表示鍊錶尾連線到鍊錶中的位置 索引從 0 開始 如果 pos 是 1,則在該鍊錶中沒有環。示例 1 輸入 head 3,2,0,4 pos 1 輸出 true 解釋 鍊錶中有乙個環,其尾部連線到第二個節點。1.首先想到...