面試題22:輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。
/**
* definition for singly-linked list.
* struct listnode
* };
*/class
solution
listnode *phead = head;
listnode *pbehind =
nullptr;/*
*前面的指標先走k-1步時,後面的指標
*在第0步(pbehind = head),隨後以兩
*者相距k-1步的距離同速向前走。
*/for(
int i =
0; i < k -1;
++i)
else
} pbehind = head;
while
(phead -
> next !=
nullptr
)return pbehind;}}
;
面試題22 鍊錶中倒數第k個節點
假如單鏈表有n個節點,倒數第k個節點,即為n k 1 利用雙指標進行判斷,前指標走到k 1的位置,即開頭的k 1位置,然後讓後指標跟前指標一起走 當前指標到達尾部的時候,後指標剛好到達倒數第k個節點 include struct listnode 假如單鏈表有n個節點,倒數第k個節點,即為n k 1...
面試題22 鍊錶中倒數第k個節點
輸入乙個鍊錶,輸出該鍊錶中倒數第k個節點。為了符合大多數人的習慣,本題從1開始計數,即鍊錶的尾節點是倒數第1個節點。例如,乙個鍊錶有6個節點,從頭節點開始,它們的值依次是1 2 3 4 5 6。這個鍊錶的倒數第3個節點是值為4的節點。示例 給定乙個鍊錶 1 2 3 4 5,和 k 2.返回鍊錶 4 ...
劍指面試題22 鍊錶中倒數第k個節點
題目 輸入乙個鍊錶,輸出該鍊錶中倒數第k個節點。為了符合大多數人的習慣,本題從1開始計數,即鍊錶的尾節點是倒數第1個節點。例如,乙個鍊錶有6個節點,從頭節點開始,它們的值依次是1 2 3 4 5 6。這個鍊錶的倒數第3個節點是值為4的節點。第一種實現 遍歷放在列表中,但是會增加空間複雜度 codin...