雙指針-鏈表中倒數第k個結點

解題思路:快慢指針 

先讓快指針走k步,然後兩個指針同步走,當快指針走到頭時,慢指針就是鏈表倒數第k個節點。

/*
public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    public ListNode FindKthToTail(ListNode head,int k) {
        if(head==null||k==0) return null;
        ListNode fast=head;
        ListNode slow=head;
        for(int i=0;i<k;i++){
            if(fast==null) return null;
            fast=fast.next;
        }
        while(fast!=null){
            fast=fast.next;
            slow=slow.next;
        }
        return slow;
    }
}

 力扣:

力扣意思同劍指offer題目描述

輸入一個鏈表,輸出該鏈表中倒數第k個結點。

力扣代碼同本文的劍指offer 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章