剑指offer--单链表倒数第k个节点--11

输入一个链表,输出该链表中倒数第k个结点。

快慢指针,快指针先走k-1步,然后快慢指针一起走,当快指针指向节点下一个节点为空时,返回慢指针所指向的节点。

/*
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-1;i++){
        if(fast.next==null){
            return null;
        }
        fast=fast.next;
    }
    while(fast.next!=null){
        fast=fast.next;
        slow=slow.next;
    }
    return slow;
}
}

猜你喜欢

转载自blog.csdn.net/weixin_44017425/article/details/105396072
今日推荐