力扣142 入環點 ,快慢指標

2021-10-07 15:13:01 字數 565 閱讀 9220

class

solution

:def

detectcycle

(self, head: listnode)

-> listnode:

s = head #定義s和f在開頭

f = head

while f and f.

next

:#當f和f的下乙個位置不為空的時候

s = s.

next

#s向前走一步

f = f.

next

.next

#f向前走兩步

if s == f:

# 取第一次相交的點

s = head #重新定義s等於開頭

while s != f:

#當s 和f指標不相交的時候

s = s.

next

#s向下一步

f = f.

next

#f向下一步

return f

return

none

142 環形鍊錶 II 力扣

題意理解 找乙個鍊錶中環形的起始結點位置。問題分析 鍊錶hash表法 雙指標法,快慢指標,每次一步,每次兩步。如果快慢指標相遇,說明有環 從相遇點到環開始點的距離和從表頭到環開始點的距離相同。其他hash表好想好實現,但是空間消耗o n 雙指標法不好想 尤其是找換開始結點 但是空間消耗低o 1 鏈結...

力扣 142 環形鍊錶 II

給定乙個鍊錶,返回鍊錶開始入環的第乙個節點。如果鍊錶無環,則返回 null。為了表示給定鍊錶中的環,我們使用整數 pos 來表示鍊錶尾連線到鍊錶中的位置 索引從 0 開始 如果 pos 是 1,則在該鍊錶中沒有環。說明 不允許修改給定的鍊錶 該題目來自力扣題庫 示例示例1 輸出 tail conne...

力扣 142 環形鍊錶 II

給定乙個鍊錶,返回鍊錶開始入環的第乙個節點。如果鍊錶無環,則返回 null。為了表示給定鍊錶中的環,我們使用整數 pos 來表示鍊錶尾連線到鍊錶中的位置 索引從 0 開始 如果 pos 是 1,則在該鍊錶中沒有環。注意,pos 僅僅是用於標識環的情況,並不會作為引數傳遞到函式中。說明 不允許修改給定...