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

2021-07-13 02:36:20 字數 454 閱讀 4101

題目:輸入乙個鍊錶,輸出該鍊錶中倒數第k個節點。從1開始計數,如鍊表有1,2,3,4,5,6.倒數第三個節點是值為4的節點。

可以採用兩個指標,思路比較清晰,但是就是一些邊界條件很難考慮全,比如k超出了鍊錶的長度。

struct listnode 

};class solution

if(fast==null&&num<=k)

return null;

while(fast!=null)

return slow;

}};

看了下書上的解答,**思路清晰,如下:

struct listnode 

};class solution

while(fast->next!=null)

return slow;

}};

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

鍊錶的定義如下 struct listnode 有三種方法 遞迴法,自定義棧法和前後指標法。如下 listnode findkthtotail listnode head,int k else if k 1 else if k 1 k listnode findkthtotail listnode ...

面試題22 鍊錶中倒數第k個節點

假如單鏈表有n個節點,倒數第k個節點,即為n k 1 利用雙指標進行判斷,前指標走到k 1的位置,即開頭的k 1位置,然後讓後指標跟前指標一起走 當前指標到達尾部的時候,後指標剛好到達倒數第k個節點 include struct listnode 假如單鏈表有n個節點,倒數第k個節點,即為n k 1...

面試題22 鍊錶中倒數第K個節點

面試題22 輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。definition for singly linked list.struct listnode class solution listnode phead head listnode pbehind nullptr 前面的指標先走k 1步時,...