劍指offer面試題15 倒數第k個結點

2022-05-03 07:15:10 字數 374 閱讀 6118

面試題15:倒數第k個結點。(鍊錶不帶頭結點)。設定兩個指標,乙個從頭結點開始,走k-1步時另外乙個從頭開始與該指標同步知道第乙個指標到達末尾。

listnode * findkthtotail(listnode *plisthead,unsigned int k)

listnode *pahead=plisthead;

listnode *pbehind=null;

for(int i=0;inext!=null)

else return null;

} pbehind=plisthead;

while(pahead->next!=null)

return pbehind;

}

劍指Offer 面試題15 鍊錶中倒數第k個結點

鍊錶中倒數第k個節點 輸入乙個鍊錶,輸出該鍊錶中倒數第k個節點。為了符合大多數人的習慣,本題從1開始計數,即鍊錶的尾節點是 倒數第乙個節點。例如乙個鍊錶有6個節點,從頭節點開始它們的值依次是1,2,3,4,5,6。這個鍊錶的倒數第三個 節點是值為4的結點。輸入 輸入可能包含多個測試樣例,輸入以eof...

劍指offer 面試題15 鍊錶中倒數第k個節點

基本思想 解法一 o n 2 先算出鍊錶的長度n,然後倒數第k個結點就是順序的第 n k 1 個數,不過這樣需要2次遍歷鍊錶,第一次統計出煉表中節點的個數n,第二次就能找到倒數第k個節點。解法二 o n 只需一次遍歷。設定兩個指標p1和p2,兩個指標剛開始都指向鍊錶的第乙個結點,然後讓p1指標先走 ...

劍指offer面試題15 鍊錶中倒數第K個節點

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