1. 程式人生 > 其它 >力扣java-返回倒數第k個節點

力扣java-返回倒數第k個節點

題目描述
實現一種演算法,找出單向連結串列中倒數第 k 個節點。返回該節點的值。
在這裡插入圖片描述
思路:
雙指標
第一個指標先走k步,然後第二個指標在從頭走,這個時候兩個指標同時移動。

在這裡插入圖片描述
當第一個指標移動到末尾的時候,返回第二個指標就可以了,第二個指標指向的值就是我們找的倒數第k個結點。
在這裡插入圖片描述

class Solution {
    public int kthToLast(ListNode head, int k) {
        ListNode first = head;//初始化first指標指向頭結點
        ListNode second = head;//初始化second指標指向頭結點
        while
(k -- > 0){//first指標先走k步 first = first.next; } while(first != null){//迴圈條件是first指標不為空,走到null說明first走到連結串列的末尾 //兩個指標分別移動 first =first.next; second =second.next; } return second.val;//返回second指標指向的值 } }