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

給定一個(gè)鏈表愕难,刪除鏈表的倒數(shù)第n?個(gè)節(jié)點(diǎn)偎快,并且返回鏈表的頭結(jié)點(diǎn)顷链。

示例:

給定一個(gè)鏈表:1->2->3->4->5, 和n= 2.當(dāng)刪除了倒數(shù)第二個(gè)節(jié)點(diǎn)后橄抹,鏈表變?yōu)?b>1->2->3->5.

說明:

給定的?n保證是有效的蜜笤。

進(jìn)階:

你能嘗試使用一趟掃描實(shí)現(xiàn)嗎濒蒋?


看看給的東西,head是鏈表把兔,n是倒數(shù)第n個(gè)節(jié)點(diǎn)沪伙,

先看看head是什么

ListNode{val: 1, next: ListNode{val: 2, next: ListNode{val: 3, next: ListNode{val: 4, next: ListNode{val: 5, next: None}}}}}

字典,鍵值對組成县好,key為數(shù)值围橡,value為指針,最后一層元素的value是None缕贡,及尾節(jié)點(diǎn)的指針為空

如果我們正常知道節(jié)點(diǎn)位置翁授,那么可以用x.val = x.next.val? x.next = x.next.next刪除節(jié)點(diǎn)

或者直接跳過這個(gè)節(jié)點(diǎn)拣播,讓下一個(gè)節(jié)點(diǎn)指針指向下一個(gè)節(jié)點(diǎn),然后返回頭結(jié)點(diǎn)收擦,鏈表給的是頭結(jié)點(diǎn)贮配,通過頭結(jié)點(diǎn)找到后續(xù)節(jié)點(diǎn)。

然后就是如何找到這個(gè)節(jié)點(diǎn)了塞赂,知道是倒數(shù)第N個(gè)泪勒,給了鏈表,那就去找這個(gè)鏈表的長度宴猾。

那就遍歷這個(gè)鏈表圆存,從頭節(jié)點(diǎn)開始,如果下一個(gè)節(jié)點(diǎn)不為空仇哆,那就是存在節(jié)點(diǎn)沦辙,進(jìn)行計(jì)數(shù)

如果長度為1,那么計(jì)數(shù)為0税产,起始的head 等于None


最后i就是鏈表長度怕轿,然后知道長度偷崩,就知道是第幾個(gè)節(jié)點(diǎn)辟拷,

然后要對n進(jìn)行判斷,如果n是1阐斜,那么就是刪除唯一的節(jié)點(diǎn)衫冻,那么就應(yīng)該返回空,輸入的是列表谒出,返回的就是列表隅俘,[ ]

然后是是去除這個(gè)節(jié)點(diǎn),找到這個(gè)節(jié)點(diǎn)前一個(gè)節(jié)點(diǎn)是最簡單的辦法笤喳,倒數(shù)第n個(gè)为居,就是正數(shù)

i - n + 1

前一個(gè)就是i - n + 1 -1?

然后去尋找這個(gè)節(jié)點(diǎn)的前一個(gè)節(jié)點(diǎn),起始為第1個(gè)節(jié)點(diǎn)杀狡,讓他等于第二個(gè)節(jié)點(diǎn)蒙畴,進(jìn)行一次操作,for i in range(1)

所以應(yīng)該是for i in range(i - n -1):然后這個(gè)節(jié)點(diǎn)指向下下個(gè)節(jié)點(diǎn)呜象,

然后還有一種情況膳凝,n=i,那么就是刪除第一個(gè)節(jié)點(diǎn)恭陡,那就直接返回head.next


對于鏈表我屬實(shí)一知半解的蹬音,做兩道題收獲不少,繼續(xù)努力休玩。


學(xué)習(xí)的另一種辦法

關(guān)鍵在于如何倒數(shù)著淆,這種方法先正數(shù)N個(gè)劫狠,然后再前面添加任意個(gè)數(shù),直到達(dá)到長度牧抽。

(具體實(shí)現(xiàn)不是這樣的嘉熊,但是這種想法)

先賦值一個(gè)鏈表A首先走N步,然后另開一個(gè)鏈表B再繼續(xù)走,直到A走到頭扬舒,這時(shí)B的末尾就是倒數(shù)第N個(gè)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末阐肤,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子讲坎,更是在濱河造成了極大的恐慌孕惜,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件晨炕,死亡現(xiàn)場離奇詭異衫画,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)瓮栗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進(jìn)店門削罩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人费奸,你說我怎么就攤上這事弥激。” “怎么了愿阐?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵微服,是天一觀的道長。 經(jīng)常有香客問我缨历,道長以蕴,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任辛孵,我火速辦了婚禮丛肮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘魄缚。我一直安慰自己宝与,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布鲜滩。 她就那樣靜靜地躺著伴鳖,像睡著了一般。 火紅的嫁衣襯著肌膚如雪徙硅。 梳的紋絲不亂的頭發(fā)上榜聂,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天,我揣著相機(jī)與錄音嗓蘑,去河邊找鬼须肆。 笑死匿乃,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的豌汇。 我是一名探鬼主播幢炸,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼拒贱!你這毒婦竟也來了宛徊?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤逻澳,失蹤者是張志新(化名)和其女友劉穎闸天,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體斜做,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡苞氮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了瓤逼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片笼吟。...
    茶點(diǎn)故事閱讀 39,965評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖霸旗,靈堂內(nèi)的尸體忽然破棺而出贷帮,到底是詐尸還是另有隱情,我是刑警寧澤定硝,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布皿桑,位于F島的核電站毫目,受9級特大地震影響蔬啡,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜镀虐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一箱蟆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧刮便,春花似錦空猜、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至搜贤,卻和暖如春谆沃,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背仪芒。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工唁影, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留耕陷,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓据沈,卻偏偏與公主長得像哟沫,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子锌介,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內(nèi)容