劍指Offer之鍊表中倒數第k個結點

2021-09-01 21:05:59 字數 1178 閱讀 6750

題目描述:輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。

(hint: 請務必使用鍊錶。)

輸入:輸入可能包含多個測試樣例,輸入以eof結束。

對於每個測試案例,輸入的第一行為兩個整數n和k(0<=n<=1000, 0<=k<=1000):n代表將要輸入的鍊錶元素的個數,k代表要查詢倒數第幾個的元素。

輸入的第二行包括n個數t(1<=t<=1000000):代表鍊錶中的元素。

輸出:對應每個測試案例,

若有結果,輸出相應的查詢結果。否則,輸出null。

樣例輸入:

5 2

1 2 3 4 5

1 05

樣例輸出:

4

null

【解析】

* 日期:2013-11-20

* 題號: 題目1517:鍊錶中倒數第k個結點

* 結果:ac

* 總結:

**********************************/

#include#include #include #include using namespace std;

typedef struct listnodelistnode;

int findkthtotail(listnode*head,int k)

else

//兩個指標同時向前遍歷

while(p->next != null)

return pre->value;

}}int main()

//全部輸出

if(n < k)

else

else

}} return 0;

}

劍指offer之鍊表中倒數第k個結點

題目 輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。為了符合大多數人的習慣,本題從1開始計數,即鍊錶的尾結點是倒數第1個結點。例如乙個鍊錶有6個結點,從頭結點開始它們的值依次是1 2 3 4 5 6。這個鍊錶的倒數第3個結點是值為4的結點。結構體節點 struct listnode listnode f...

《劍指Offer》之鍊表中倒數第k個結點

題目描述 輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。思路分析 由於是要找到倒數第k個結點,而鍊錶又不可以直接索引,因此,引入棧儲存各個鍊錶的結點,利用棧的反序功能,然後只需要返回第k個結點就可以了 本題中需注意 unsigned int 和int的轉換 k的值不能等於0或者大於鍊錶的總長度 鍊錶為空...

劍指Offer之鍊表中倒數第k個結點

題目描述 輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。hint 請務必使用鍊錶。輸入 輸入可能包含多個測試樣例,輸入以eof結束。對於每個測試案例,輸入的第一行為兩個整數n和k 0 n 1000,0 k 1000 n代表將要輸入的鍊錶元素的個數,k代表要查詢倒數第幾個的元素。輸入的第二行包括n個數t ...