[劍指Offer]22.鏈表中倒數(shù)第k個(gè)字節(jié)(快慢指針)

走的最慢的人怎憋,只要他不喪失目標(biāo)纽疟,也比漫無(wú)目的徘徊的人走得快罐韩。- 萊辛

輸入一個(gè)鏈表,輸出該鏈表中倒數(shù)第k個(gè)節(jié)點(diǎn)污朽。為了符合大多數(shù)人的習(xí)慣散吵,本題從1開(kāi)始計(jì)數(shù),即鏈表的尾節(jié)點(diǎn)是倒數(shù)第1個(gè)節(jié)點(diǎn)蟆肆。例如矾睦,一個(gè)鏈表有6個(gè)節(jié)點(diǎn),從頭節(jié)點(diǎn)開(kāi)始炎功,它們的值依次是1枚冗、2、3蛇损、4赁温、5、6淤齐。這個(gè)鏈表的倒數(shù)第3個(gè)節(jié)點(diǎn)是值為4的節(jié)點(diǎn)股囊。

示例:

給定一個(gè)鏈表: 1->2->3->4->5, 和 k = 2.

返回鏈表 4->5.

來(lái)源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof

解題思路
一提到鏈表,好多題目都可以有幾種相似的解法更啄,但最好本著時(shí)間復(fù)雜度是O(N)的思路稚疹,即遍歷鏈表一邊即可,太多了祭务,估計(jì)面試官不會(huì)認(rèn)可内狗。除了用空間換時(shí)間的想法,比如多開(kāi)辟出一個(gè)數(shù)組來(lái)記錄鏈表义锥,還有但指針柳沙,大家都普遍認(rèn)可的解法就是雙指針?lè)ǎ步锌炻羔樂(lè)ò璞丁1绢}為例:

生成兩個(gè)指針從頭節(jié)點(diǎn)開(kāi)始赂鲤,快指針先走k-1步,然后快慢指針同時(shí)向后贰拿,當(dāng)快指針到達(dá)鏈表末尾的時(shí)候,慢指針正好處于第k個(gè)節(jié)點(diǎn)熄云。代碼也是相當(dāng)?shù)暮?jiǎn)單膨更,討論下時(shí)間復(fù)雜度,快指針走了O(N), 慢指針走了O(N-K),時(shí)間復(fù)雜度為 O(N), 空間復(fù)雜度為 O(1), 只有兩個(gè)指針缴允。

public ListNode getKthFromEnd(ListNode head, int k) {
       ListNode slow = head, fast = head;
            
       for(int i =0; i< k -1; i++){
          if(fast.next == null)
            return null;
          fast = fast.next;
       }
                            
       while(fast.next != null){
         slow = slow.next;
         fast = fast.next;
       } 
           
       return slow;
}

相似的題型還有很多
876. 鏈表的中間結(jié)點(diǎn) - 快指針是慢指針的兩倍步長(zhǎng)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末荚守,一起剝皮案震驚了整個(gè)濱河市珍德,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌矗漾,老刑警劉巖锈候,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異敞贡,居然都是意外死亡泵琳,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)誊役,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)获列,“玉大人,你說(shuō)我怎么就攤上這事蛔垢』骱ⅲ” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵鹏漆,是天一觀的道長(zhǎng)巩梢。 經(jīng)常有香客問(wèn)我,道長(zhǎng)艺玲,這世上最難降的妖魔是什么括蝠? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮板驳,結(jié)果婚禮上又跛,老公的妹妹穿的比我還像新娘。我一直安慰自己若治,他們只是感情好慨蓝,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著端幼,像睡著了一般礼烈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上婆跑,一...
    開(kāi)封第一講書(shū)人閱讀 52,394評(píng)論 1 310
  • 那天此熬,我揣著相機(jī)與錄音,去河邊找鬼滑进。 笑死犀忱,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的扶关。 我是一名探鬼主播阴汇,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼节槐!你這毒婦竟也來(lái)了搀庶?” 一聲冷哼從身側(cè)響起拐纱,我...
    開(kāi)封第一講書(shū)人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎哥倔,沒(méi)想到半個(gè)月后秸架,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡咆蒿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年东抹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蜡秽。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡府阀,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出芽突,到底是詐尸還是另有隱情试浙,我是刑警寧澤,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布寞蚌,位于F島的核電站田巴,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏挟秤。R本人自食惡果不足惜壹哺,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望艘刚。 院中可真熱鬧管宵,春花似錦、人聲如沸攀甚。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)秋度。三九已至炸庞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間荚斯,已是汗流浹背埠居。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留事期,地道東北人滥壕。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像兽泣,于是被迫代替她去往敵國(guó)和親绎橘。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

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

  • 鏈表 記錄《劍指offer》中所有關(guān)于鏈表的題目撞叨,以及LeetCode中的相似題目 相關(guān)題目列表 題目 鏈表是面試...
    wenmingxing閱讀 1,172評(píng)論 0 11
  • 搞懂單鏈表常見(jiàn)面試題 Hello 繼上次的 搞懂基本排序算法金踪,這個(gè)一星期,我總結(jié)了牵敷,我所學(xué)習(xí)和思考的單鏈表基礎(chǔ)知識(shí)...
    醒著的碼者閱讀 4,592評(píng)論 1 45
  • 一胡岔、前言 4月份報(bào)名參加了極客時(shí)間舉辦的第一期「算法訓(xùn)練營(yíng)」,兩天線下大課枷餐,一個(gè)月線上課靶瘸。 在做線上課程作業(yè)的過(guò)程...
    李眼鏡閱讀 693評(píng)論 0 0
  • 鏈表刪除[203] Remove Linked List Elements[19] Remove Nth Node...
    野狗子嗷嗷嗷閱讀 6,309評(píng)論 4 35
  • 鏈表問(wèn)題是面試過(guò)程中經(jīng)常被問(wèn)到的一部分,很考查編程功底毛肋。最近刷了 LeetCode 上鏈表部分的面試題怨咪,我總結(jié)了一...
    JohnnyShieh閱讀 4,963評(píng)論 0 9