五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

labuladong 的算法秘籍-讀書筆記-雙指針技巧秒殺七道鏈表題目

2023-01-17 22:49 作者:風(fēng)格星辰  | 我要投稿

1、合并兩個(gè)有序鏈表

解題思路

使用虛擬頭結(jié)點(diǎn)

遍歷兩個(gè)鏈表,將數(shù)值小的節(jié)點(diǎn)加入虛擬頭節(jié)點(diǎn)中。直到某個(gè)鏈表為空。將另一個(gè)鏈表加入。

返回虛擬頭節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn)。

當(dāng)你需要?jiǎng)?chuàng)造一條新鏈表的時(shí)候,可以使用虛擬頭結(jié)點(diǎn)簡(jiǎn)化邊界情況的處理


2、單鏈表的分解

解題思路

創(chuàng)建兩個(gè)虛擬頭節(jié)點(diǎn),分別存放小于鏈表和大于等于鏈表

遍歷鏈表,小于的加入鏈表,大于等于的加入另一個(gè)鏈表

遍歷兩個(gè)鏈表虛擬頭節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn)

然后連接兩個(gè)鏈表


3、合并k個(gè)有序鏈表

1的加強(qiáng)型,其實(shí)先從k個(gè)鏈表中找到第一個(gè)最小的就行,可以使用最小堆。然后使用1的套路


4、單鏈表的倒數(shù)第k個(gè)節(jié)點(diǎn) 刪除鏈表的倒數(shù)第k個(gè)節(jié)點(diǎn)

雙指針,第一個(gè)指針先走k步,然后第二個(gè)指針指向頭,兩個(gè)指針相差k。兩個(gè)指針同時(shí)往前走。

當(dāng)?shù)谝粋€(gè)指針到尾部的時(shí)候,第二個(gè)指針剛好在倒數(shù)第k個(gè)節(jié)點(diǎn)。


5、單鏈表的中點(diǎn)

快慢指針,一個(gè)指針走1步,一個(gè)指針走2步。當(dāng)走兩步的指針到尾部時(shí),另一個(gè)指針就到中間。


6、判斷鏈路是否包含環(huán)

快慢指針,慢指針走1步,快指針走2步,如果快指針最后指向空,說明沒有環(huán),如果快慢指針相遇,說明有環(huán)。


7、兩個(gè)鏈表是否相交

將兩個(gè)鏈表相連,同時(shí)遍歷兩個(gè)鏈表就可以同時(shí)進(jìn)入公共部分

具體代碼見知乎

https://zhuanlan.zhihu.com/p/599759514

labuladong 的算法秘籍-讀書筆記-雙指針技巧秒殺七道鏈表題目的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
讷河市| 亚东县| 邵阳县| 甘泉县| 来宾市| 柘城县| 上栗县| 介休市| 梅河口市| 桃园县| 涡阳县| 固阳县| 阿克陶县| 防城港市| 奉新县| 都安| 临武县| 襄城县| 澎湖县| 远安县| 香河县| 海南省| 筠连县| 陵川县| 平顶山市| 台中县| 庆元县| 夹江县| 和平区| 罗山县| 茌平县| 万山特区| 云浮市| 原平市| 买车| 句容市| 诸城市| 松江区| 汶上县| 郁南县| 贵州省|