原文:數據結構和算法之單向鏈表二:獲取倒數第K個節點

我們在做算法的時候或多或少都會遇到這樣的問題,那就是我們需要獲取某一個數據集的倒數或者正數第幾個數據。那么今天我們來看一下這個問題,怎么去獲取倒數第K個節點。我們拿到這個問題的時候自然而然會想到我們讓鏈表從末尾開始next K 次不就是第K 個節點了么,但是必須要注意一點,這是單向鏈表。那么這時候的解決思路或許就會出現分歧,大多數人都會想到我們遍歷一下鏈表,獲取鏈表的長度,然后再減去 K 長度的 ...

2017-12-06 20:28 0 977 推薦指數:

查看詳情

鏈表倒數第k節點

題目 輸入一個鏈表,輸出該鏈表倒數第k個結點。為了符合大多數人的習慣,本題從1開始計數,即鏈表的尾結點是倒數第1個結點。例如一個鏈表有6個結點,從頭結點開始它們的值依次是1、2、3、4、5、6。這個鏈表倒數第3個結點是值為4的結點。 解題思路 1.不可行的常規解法   為了得到倒數第k ...

Wed Dec 26 06:55:00 CST 2018 0 1011
數據結構/PTA-求鏈式線性表的倒數第K項/鏈表

求鏈式線性表的倒數第K項 給定一系列正整數,請設計一個盡可能高效的算法,查找倒數第K個位置上的數字。 輸入格式: 輸入首先給出一個正整數K,隨后是若干非負整數,最后以一個負整數表示結尾(該負數不算在序列內,不要處理)。 輸出格式: 輸出倒數第K個位置上的數據。如果這個位 ...

Tue Sep 22 15:34:00 CST 2020 0 457
鏈表查找倒數第k節點

題目:輸入一個單向鏈表,輸出該鏈表倒數第k個結點。鏈表倒數第0個結點為鏈表的尾指針。 分析:為了得到倒數第k個結點,很自然的想法是先走到鏈表的尾端,再從尾端回溯k步。可是輸入的是單向鏈表,只有從前往后的指針而沒有從后往前的指針。因此我們需要打開我們的思路。既然不能從尾結點開始遍歷這個鏈表 ...

Fri Mar 08 05:00:00 CST 2013 0 8707
求單鏈表倒數第K節點

求單鏈表倒數第K個值 題目: 找出單鏈表倒數第K個元素,比如給定單鏈表:1->2->3->4->5,則鏈表倒數第2個元素為4 構造一個簡單的單鏈表 思路 1、順序遍歷兩遍法 2、使用快慢指針 ...

Sun Aug 11 10:32:00 CST 2019 0 464
找到鏈表倒數第k節點 python

  題目:給定一個鏈表的頭節點,輸出鏈表倒數第k節點的值   分析:最簡單的思路就按順序訪問鏈表節點,得到鏈表的長度x之后,再次從頭節點出發,訪問到第x-k+1個節點時,就是鏈表倒數第k節點,但是這樣的方法對前x-k+1個節點重復訪問了兩遍,效率較低。在解答鏈表相關題目時,設置兩個甚至三個 ...

Sun Apr 14 19:13:00 CST 2019 0 509
鏈表問題----刪除倒數第K節點

在單鏈表和雙鏈表中刪除倒數第K節點      分別實現兩個函數,一個可以刪除單鏈表中的倒數第K節點,一個可以刪除雙鏈表中的倒數第k節點,要求時間復雜度是 O(N),空間復雜度是 O(1)。      【解析】   基本思路:   讓鏈表從頭開始走到尾,每移動一步,就讓k值減 ...

Sun Jul 15 07:15:00 CST 2018 0 815
鏈表中的倒數第K節點

  求鏈表倒數第K節點:主要思路設置兩個指針,剛開始都指向鏈表的第一個節點,第一個指針先走k-1步,然后兩個一塊走,直到第一個指針的下一位為nullptr,則第二個指針所指的位置就是倒數第k節點。   在編程書上看見這個方法,自己畫了個鏈表試了試果然是這樣,但是這是個什么原理 ...

Fri Apr 15 03:25:00 CST 2016 0 5162
鏈表倒數第K節點的查找和顯示

最近在學回顧之前學到的知識,正好碰到了關於鏈表查找的一道面試題,在此貼出來,與小伙伴們共同交流~ 在剛看到題目,其實很容易就想到一個方法,就是先求鏈表的長度(length),然后去超找第length-k+1個節點的值,再進行查找,先貼代碼如下。 這個算法需要對鏈表進行兩次 ...

Mon May 01 08:53:00 CST 2017 0 5297
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM