第四天| 24. 兩兩交換鏈表中的節(jié)點 19.刪除鏈表的倒數(shù)第N個節(jié)點 160.鏈表相交 142.環(huán)形鏈表II

24. 兩兩交換鏈表中的節(jié)點

本題要求將相鄰的兩個節(jié)點交換拒课。

做題時候的難點:

1. 在遞歸和迭代之間猶豫不決。最后因為想到“交換后的節(jié)點對”的next還是“交換后的節(jié)點對”留拾。迭代法沒想出來如何實現(xiàn),就用遞歸法了诬辈。

2. reverse函數(shù)只傳入一個節(jié)點拳昌。主要是考慮到:如果傳入兩個節(jié)點,比如current 和 current.next钳垮,那當current 為None的時候惑淳,生成輸入current.next就會報錯。

因為只傳入一個節(jié)點饺窿,那最終返回的就是current.next節(jié)點歧焦。但是在函數(shù)中current.next修改過,所以要用一個head暫存current.next節(jié)點肚医,否則就會報錯(寫的時候就犯錯了)

Carl講解:

1. 一定要記著绢馍,“交換節(jié)點對”,一定要在這對節(jié)點的前一個節(jié)點操作3μ住(這也就是為啥我之前想不出來迭代法如何實現(xiàn))

2. 這道題要畫圖舰涌,因為鏈被重新連接,有些斷掉的點需要中間變量儲存你稚。

3. 卡哥強調終止條件是難點瓷耙。但個人覺得挺直觀,容易想到刁赖。



19.刪除鏈表的倒數(shù)第N個節(jié)點

本題要求刪除鏈表倒數(shù)第n個節(jié)點搁痛。使用快慢指針很直觀∮畛冢快指針先走n步落追,然后慢指針出發(fā)。當快指針到鏈表尾的時候涯肩,慢指針所指的就是要刪除的點轿钠。

做題時候的難點:

1. 如果快指針先走N步巢钓,剛好走到鏈尾,也就是fast為None疗垛。那要刪除的就是第一個節(jié)點症汹。此時應該返回head.next作為新的head

2. 卡哥的做法是加入一個虛擬頭結點,這樣不用特意處理頭結點贷腕。


160.?鏈表相交?

給出兩個單鏈表的頭結點背镇,返回他們的相交節(jié)點。思路:既然相交泽裳,那尾部應該是一樣的瞒斩。那就求出兩個鏈表的長度。求長度差N涮总,長鏈表先走N步后胸囱,短鏈表的指針也出發(fā)。兩指針相遇的點就是交點瀑梗。

做題時候的掙扎:

1. 找點的題目烹笔,能想到的就是兩指針相等(走到了同一個節(jié)點)。做題時在想有沒有其他的能判斷交點的方式抛丽,浪費時間....

最后還是妥協(xié)谤职。以兩指針相等作為判斷點。創(chuàng)造機會讓兩指針相等亿鲜。

142.環(huán)形鏈表II

判斷鏈表是否有環(huán)允蜈。如果有環(huán)返回環(huán)的入口。

快慢指針法:如果有環(huán)蒿柳,那么快慢指針必然相遇饶套。因為快指針先進入環(huán),等慢指針進入環(huán)后其馏,快指針等于是每次一步的速度追趕慢指針。環(huán)周長N爆安,兩指針都在環(huán)內叛复,那快慢指針距離小于N。因此扔仓,慢指針走一圈的時間N褐奥,快指針一步一步必然能追上慢指針。

思路翘簇,創(chuàng)造一個兩指針相遇在環(huán)入口節(jié)點的機會撬码!

假設入口節(jié)點為x, 入環(huán)后再走y個點,快慢指針相遇版保,y再走z步又到入口節(jié)點x呜笑。則我們有2(x+y) = x + n(y+z) + y => x = (y+z) - y

這意味著夫否,如果有個新指針2, 在環(huán)內先走了y步,然后另個一個指針1從head出發(fā)叫胁,兩指針都走x步的時間凰慈,將會在環(huán)的入口相會。這就創(chuàng)造出了指針相等的條件驼鹅。

解題思路稍微有點難微谓。但代碼實現(xiàn)很簡單。

以下為卡哥的資料

?24.?兩兩交換鏈表中的節(jié)點?

用虛擬頭結點输钩,這樣會方便很多豺型。?

本題鏈表操作就比較復雜了,建議大家先看視頻买乃,視頻里我講解了注意事項姻氨,為什么需要temp保存臨時節(jié)點。

題目鏈接/文章講解/視頻講解:?https://programmercarl.com/0024.%E4%B8%A4%E4%B8%A4%E4%BA%A4%E6%8D%A2%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%9A%84%E8%8A%82%E7%82%B9.html

?19.刪除鏈表的倒數(shù)第N個節(jié)點??

雙指針的操作为牍,要注意哼绑,刪除第N個節(jié)點,那么我們當前遍歷的指針一定要指向?第N個節(jié)點的前一個節(jié)點碉咆,建議先看視頻抖韩。

題目鏈接/文章講解/視頻講解:https://programmercarl.com/0019.%E5%88%A0%E9%99%A4%E9%93%BE%E8%A1%A8%E7%9A%84%E5%80%92%E6%95%B0%E7%AC%ACN%E4%B8%AA%E8%8A%82%E7%82%B9.html

?面試題?02.07.?鏈表相交??

本題沒有視頻講解,大家注意?數(shù)值相同疫铜,不代表指針相同茂浮。

題目鏈接/文章講解:https://programmercarl.com/%E9%9D%A2%E8%AF%95%E9%A2%9802.07.%E9%93%BE%E8%A1%A8%E7%9B%B8%E4%BA%A4.html

?142.環(huán)形鏈表II??

算是鏈表比較有難度的題目,需要多花點時間理解?確定環(huán)和找環(huán)入口壳咕,建議先看視頻席揽。

題目鏈接/文章講解/視頻講解:https://programmercarl.com/0142.%E7%8E%AF%E5%BD%A2%E9%93%BE%E8%A1%A8II.html

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市谓厘,隨后出現(xiàn)的幾起案子幌羞,更是在濱河造成了極大的恐慌,老刑警劉巖竟稳,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件属桦,死亡現(xiàn)場離奇詭異,居然都是意外死亡他爸,警方通過查閱死者的電腦和手機聂宾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來诊笤,“玉大人系谐,你說我怎么就攤上這事√指” “怎么了纪他?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵鄙煤,是天一觀的道長。 經(jīng)常有香客問我止喷,道長馆类,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任弹谁,我火速辦了婚禮乾巧,結果婚禮上,老公的妹妹穿的比我還像新娘预愤。我一直安慰自己沟于,他們只是感情好,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布植康。 她就那樣靜靜地躺著旷太,像睡著了一般。 火紅的嫁衣襯著肌膚如雪销睁。 梳的紋絲不亂的頭發(fā)上供璧,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天,我揣著相機與錄音冻记,去河邊找鬼睡毒。 笑死,一個胖子當著我的面吹牛冗栗,可吹牛的內容都是我干的演顾。 我是一名探鬼主播,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼隅居,長吁一口氣:“原來是場噩夢啊……” “哼钠至!你這毒婦竟也來了?” 一聲冷哼從身側響起胎源,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤棉钧,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后涕蚤,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體宪卿,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年赞季,在試婚紗的時候發(fā)現(xiàn)自己被綠了愧捕。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奢驯。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡申钩,死狀恐怖,靈堂內的尸體忽然破棺而出瘪阁,到底是詐尸還是另有隱情撒遣,我是刑警寧澤邮偎,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站义黎,受9級特大地震影響禾进,放射性物質發(fā)生泄漏。R本人自食惡果不足惜廉涕,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一泻云、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧狐蜕,春花似錦宠纯、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至贡羔,卻和暖如春廉白,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背乖寒。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工猴蹂, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人宵统。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓晕讲,卻偏偏與公主長得像,于是被迫代替她去往敵國和親马澈。 傳聞我的和親對象是個殘疾皇子瓢省,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353

推薦閱讀更多精彩內容