鍊錶中倒數第k個節點

2021-10-24 13:42:19 字數 842 閱讀 6131

題意

輸入乙個鍊錶,輸出該鍊錶中倒數第k個節點。為了符合大多數人的習慣,本題從1開始計數,即鍊錶的尾節點是倒數第1個節點。

例如,乙個鍊錶有6個節點,從頭節點開始,它們的值依次是1、2、3、4、5、6。這個鍊錶的倒數第3個節點是值為4的節點。

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

返回鍊錶 4->5.

思路:

返回第四個結點,後面的都會跟著返回,並非只有乙個

1.這裡使用雙指標的方法:

former 初始值 為head

latter 初始值為 head;

二者剛開始都指向,頭結點

2.構建雙指標的距離:

前指標former 先向前 走 k 步。 此時二者相差k

3.兩個指標共同移動,

通過迴圈,直到前指標former跳出尾結點,此時latter指標與尾結點相差k-1 ,說明 latter指向的是倒數第k個結點。

4.返回latter。 便可輸出之後所以元素。

**實現:

/**

* definition for singly-linked list.

* public class listnode

* }*/class

solution

while

(former != null)

return latter;

}}

鍊錶中倒數第k個節點

題目 輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。struct listnode方法 定義兩個指標。第乙個指標從鍊錶的頭指標開始遍歷向前走k 1,第二個指標保持不動 從第k步開始,第二個指標也開始從鍊錶的頭指標開始遍歷。由於兩個指標的距離保持在k 1,當第乙個 走在前面的 指標到達鍊錶的尾結點時,第二...

鍊錶中倒數第k個節點

輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。ac class solution def findkthtotail self,head,k write code here 將每個節點存在棧裡,選取stack中第k個值 stack while head head head.next if k len s...

鍊錶中倒數第k個節點

acwing打卡活動 劍指offer 打卡活動 周二第十題 鍊錶中倒數第k個節點 definition for singly linked list.public class listnode 思路 設列表總結點數為n,則n k 1 為該列表的倒數第k個節點 如 n 10,k 2,則 10 2 1 ...