題意:
輸入乙個鍊錶,輸出該鍊錶中倒數第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 ...