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

2022-06-19 18:03:13 字數 433 閱讀 7587

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

示例:給定乙個鍊錶: 1->2->3->4->5, 和 k = 2.

返回鍊錶 4->5.

思路:快慢指標,快指標先走k步,慢指標再開始走,當快指標走完時慢指標剛好到倒數第k個節點。

**:

/**

* definition for singly-linked list.

* public class listnode

* } */

class

solution

else

}return

head;

}}

面試題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步時,...

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

題目 輸入乙個鍊錶,輸出該鍊錶中倒數第k個節點。為了符合大多數人的習慣,本題從1開始計數,即鍊錶的尾節點是倒數第1個節點。例如,乙個鍊錶有6個節點,從頭節點開始,它們的值依次是1 2 3 4 5 6。這個鍊錶的倒數第3個節點是值為4的節點。第一種實現 遍歷放在列表中,但是會增加空間複雜度 codin...