9 19 練手 騰訊50題 142 鍊錶找回環II

2021-09-27 06:57:41 字數 720 閱讀 9490

步驟為:

判斷是否有環  —>沒有 return none

—>有 乙個乙個走直到在環的入口相遇

**如下:

class solution(object):

def detectcycle(self, head):

""":type head: listnode

:rtype: listnode

"""if head == none:

return head

slow = head

fast = head.next

while fast != none:

if(slow == fast):

slow = head

fast = fast.next

while slow != fast:

slow = slow.next

fast = fast.next

#print(slow.val, fast.val)

return slow

else:

slow = slow.next

if(fast.next == none):

return none

fast = fast.next.next

return none

beat 99%

數學味很濃的一道題,特別是後面解決在入口相遇的推理我很喜歡。

leetcode 騰訊精選50題 環形鍊錶

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

leetcode 騰訊50題 21 50 翻轉鍊錶

給定乙個鍊錶,將鍊錶向右迴圈移動 kk 次,kk 是非負整數。輸入 1 2 3 4 5 null,k 2 輸出 4 5 1 2 3 null 解釋 向右移動1步後 5 1 2 3 4 null 向右移動2步後 4 5 1 2 3 null 輸入 0 1 2 null,k 4 輸出 2 0 1 nul...

LeetCode騰訊50題 148排序鍊錶

請注意!主要用來自己馬克自己的筆記,不是最優解!不是最優解!不是最優解!請不要噴我。關鍵點 題目要求在 o n log n 時間複雜度和常數級空間複雜度下,對鍊錶進行排序。思路 o nlogn 快排 歸併 於是決定 使用歸併排序演算法對鍊錶進行排序。順便複習下各類排序演算法的時間 空間複雜度。演算法...