日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

leetcode 刷题142 143

發布時間:2024/10/8 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 leetcode 刷题142 143 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

每天都要刷幾題leetcode



看到了大神的代碼,毫不猶豫拷貝下來

# Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = Noneclass Solution(object):"""原理:首先初始化快指針 fast = head.next.next 和 slow = head.next,此時快指針走的路長為2, m慢指針走的路長為1,之后令快指針每次走兩步,慢指針每次走一步,這樣快指針走的路長始終是慢指針走的路長的兩倍,若不存在環,直接返回None,若存在環,則 fast 與 slow 肯定會在若干步之后相遇;性質1:設從head需要走 a 步到達環的入口,如果環存在的話,再走 b 步可以再次到達該入口(即環的長度為b),如果存在環的話,上述描述的 快指針 fast 和 慢指針slow 必然會相遇,且此時slow走的路長小于 a + b(可以自行證明),設其為 a + x,當快慢指針相遇時,快指針已經至少走完一圈環了,不妨設相遇時走了完整的m圈(m >= 1),有:快指針走的路長為 a + mb + x慢指針走的路長為 a + x由于快指針fast 走的路長始終是慢指針的 2倍,所以:a + mb + x = 2(a + x)化簡可得:a = mb - x ------------- (*)當快指針與慢指針相遇時,由于 <性質1> 的存在,可以在鏈表的開頭初始化一個新的指針,稱其為 detection, 此時 detection 距離環的入口的距離為 a,此時令 detection 和 fast 每次走一步,會發現當各自走了 a 步之后,兩個指針同時到達了環的入口,理由分別如下:detection不用說了,走了a步肯定到剛好到入口fast已經走過的距離為 a + mb + x,當再走 a 步之后,fast走過的總距離為 2a + mb + x,帶入性質1的(*)式可得:2a + mb + x = a + 2mb,會發現,fast此時剛好走完了整整 2m 圈環,正好處于入口的位置?;诖?#xff0c;我們可以進行循環,直到 detection 和 fast 指向同一個對象,此時指向的對象恰好為環的入口。"""def detectCycle(self, head):""":type head: ListNode:rtype: ListNode"""# 首先初始化快指針和慢指針,確??熘羔樧叩穆返拈L度是慢指針長度的2倍if head and head.next:fast = head.next.nextslow = head.nextelse:return None # 說明無環# 進行循環,首先讓快指針和慢指針第一次相遇while fast:if fast != slow:# 快指針走兩步if fast.next:fast = fast.next.nextelse:return None # 說明無環# 慢指針走一步slow = slow.nextelse:detection = headwhile detection != slow: # 此時由于slow和fast是一樣的,用哪個都行slow = slow.nextdetection = detection.nextreturn detection

我這個垃圾

class Solution(object):def detectCycle(self, head):""":type head: ListNode:rtype: ListNode"""l = []while head and head not in l:l.append(head)head = head.nextreturn head

**

# Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = Noneclass Solution(object):def reorderList(self, head):""":type head: ListNode:rtype: void Do not return anything, modify head in-place instead."""if head is None or head.next is None:return#快慢指針找到鏈表中點sf = s = headwhile f and f.next:s = s.nextf = f.next.next#中點之后的鏈表反轉p = c = sn = c.nextwhile n:p = cc = nn = n.nextc.next = p#c為末尾節點,雙指針分別從頭結點和末尾節點重構鏈表n1 = h1 = headn2 = h2 = cwhile h1 != h2 and h1.next != h2:n1 = h1.nextn2 = h2.nexth1.next = h2h2.next = n1h1 = n1h2 = n2h2.next = None
# Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = Noneclass Solution(object):def reorderList(self, head):if not head or not head.next: return L = []while head:L.append(head)head = head.nextfor i in range(len(L)//2):L[i].next = L[len(L)-i-1]L[len(L)-i-1].next = L[i+1] L[i+1].next = None

總結

以上是生活随笔為你收集整理的leetcode 刷题142 143的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 93久久精品日日躁夜夜躁欧美 | 一级美女大片 | 亚洲小说在线 | xxxx国产视频 | 亚洲婷婷久久综合 | 国产成人综合在线视频 | 亚洲乱码国产乱码精品精98午夜 | 一本色道久久综合亚洲精品按摩 | 男女在线观看 | 福利在线影院 | 免费污片网站 | 97影院 | 国产情侣久久 | 成人在线观看免费 | 久久不卡免费视频 | 隔壁人妻偷人bd中字 | 欧洲色区 | 欧美日韩一区二区在线视频 | 午夜你懂的 | 99久久婷婷国产综合精品草原 | 欧美日韩综合视频 | 亚洲最大福利 | 色妞视频| 日本激情一区 | 国产黄a三级三级看三级 | 亚洲精品在线不卡 | 美少妇av| 精品国产乱码久久久久久图片 | 午夜a区 | 毛片毛片毛片毛片 | ass日本粉嫩pics珍品 | 天天射寡妇 | 欧美一区二区性久久久 | 特级毛片在线观看 | 国产一级在线视频 | 91精品国产一区二区三区香蕉 | 青青青视频免费 | 伊人色爱| 狠狠插狠狠操 | av毛片观看| 亚洲 小说 欧美 激情 另类 | 亚洲另类欧美日韩 | 日本久久久久 | 美女黄18以下禁止观看 | 一区二区自拍偷拍 | 色窝av| 空姐吹箫视频大全 | 精品无码免费视频 | 欧美日韩小视频 | 欧美日韩中出 | 成人在线观看网址 | 有色影院 | 午夜综合 | 三上悠亚三级 | 欧美日韩亚洲二区 | 日韩欧美中文字幕一区二区 | 一本色道久久综合亚洲精品小说 | 黑名单上的人全集免费观看 | 色88久久久久高潮综合影院 | 国产亚洲精 | 亚洲自拍偷拍区 | 色吧av| 日韩有码在线观看 | 中文 日韩 欧美 | 中文字幕在线不卡视频 | 成人一区二区三区仙踪林 | 国产极品在线观看 | xxx久久 | 成人天堂噜噜噜 | 老司机精品视频在线播放 | 亚洲综合福利 | 大乳丰满人妻中文字幕日本 | 亚洲精品国产精品乱码桃花 | 超碰在线最新 | 草草地址线路①屁屁影院成人 | 午夜精品一区二区三区在线 | 欧美日韩精品电影 | 精品人妻一区二区三区视频 | 善良的老师伦理bd中字 | 中文字幕在线一区 | 国产成人精品一区二区色戒 | 成人精品影院 | 国产精品麻豆视频 | 91看片在线 | 日韩成人在线看 | 99re这里只有精品在线观看 | 奇米四色7777| 三及毛片| 91无毒不卡 | 天天爱夜夜爽 | 亚洲区免费 | 黄色wwww | 搡8o老女人老妇人老熟 | 亚洲欧美日韩国产 | 久久国产夫妻 | 免费人成在线观看 | jizz一区二区三区 | 不卡中文av | 亚洲xx网 |