力扣 返回倒數第k個節點

2021-10-24 16:58:46 字數 442 閱讀 3423

實現一種演算法,找出單向鍊錶中倒數第 k 個節點。返回該節點的值。

示例:

輸入: 1->2->3->4->5 和 k = 2

輸出: 4

/**

* definition for singly-linked list.

* public class listnode

* }*/class

solution

while

(r != null)

return l.val;

}}

設有n個節點,那麼head節點需要移動n-k次才能指向倒數第k個節點,上述的l節點從頭開始移動,而r節點需要先將其移動k次,當r節點為null時,就代表移動了n-k次,那麼此時l指向的就是倒數第k個節點。

(畫圖,一目了然!!!)

返回倒數第 k 個節點

實現一種演算法,找出單向鍊錶中倒數第 k 個節點。返回該節點的值。注意 本題相對原題稍作改動 示例 輸入 1 2 3 4 5 和 k 2 輸出 4 說明 給定的 k 保證是有效的。說明 雙指標,第乙個指標先前進k步,然後兩個指標同時往前走,一直到第乙個指標指向表尾空 definition for s...

找到倒數第K個節點

倒數節點 讓第乙個節點先走k 倒數步數 第二個結點從頭結點開始走 public listnode findkthtotail listnode head,int k listnode first head listnode second head for int i 0 i else while f...

面試題 02 02 返回倒數第 k 個節點

實現一種演算法,找出單向鍊錶中倒數第 k 個節點。返回該節點的值。注意 本題相對原題稍作改動 示例 輸入 1 2 3 4 5 和 k 2 輸出 4 運用雙指標思路,k為目標節點距離最後乙個節點的距離,所以先定義快指標移動k個距離,此時定義慢指標,兩個指標同時移動,當快指標移動到鍊錶末尾時結束,這是慢...