链表的倒数第k个结点

简介: 链表的倒数第k个结点
public class Solution {
    public ListNode FindKthToTail(ListNode head,int k) {
        if(k<=0){
            return null;
        }
        if(head==null){
            return null;
        }
            ListNode fast=head;
            ListNode slow=head;
            while(k-1!=0){
                fast=fast.next;
                if(fast==null){
                    return null;
                }
                k--;
            }
            while(fast.next!=null){
                    fast=fast.next;
                    slow=slow.next;
            }
            return slow;
    }
}

fast先走k-1步,运用快慢指针,fast走两步,然后fast和slow同时一步一步走,当fast.next==null,退出循环


相关文章
|
26天前
链表的中间结点
链表的中间结点
172 57
05_删除链表的倒数第N个节点
05_删除链表的倒数第N个节点
|
2月前
|
算法
LeetCode第19题删除链表的倒数第 N 个结点
该文章介绍了 LeetCode 第 19 题删除链表的倒数第 N 个结点的解法,通过使用快慢双指针,先将快指针移动 n 步,然后快慢指针一起遍历,直到快指针到达链尾,从而找到倒数第 N 个结点的前一个结点进行删除,同时总结了快慢指针可减少链表遍历次数的特点。
LeetCode第19题删除链表的倒数第 N 个结点
|
2月前
|
Python
【Leetcode刷题Python】剑指 Offer 22. 链表中倒数第k个节点
Leetcode题目"剑指 Offer 22. 链表中倒数第k个节点"的Python解决方案,使用双指针法找到并返回链表中倒数第k个节点。
42 5
|
3月前
【数据结构OJ题】链表中倒数第k个结点
牛客题目——链表中倒数第k个结点
29 1
【数据结构OJ题】链表中倒数第k个结点
|
2月前
【刷题记录】链表的中间结点
【刷题记录】链表的中间结点
|
3月前
【数据结构OJ题】链表的中间结点
力扣题目——链表的中间结点
21 0
【数据结构OJ题】链表的中间结点
|
4月前
|
算法
19.删除链表的倒数第N个结点
19.删除链表的倒数第N个结点
|
3月前
|
机器学习/深度学习 存储
sdut pta 链表3(优化)-----7-3 sdut-C语言实验-链表的结点插入
sdut pta 链表3(优化)-----7-3 sdut-C语言实验-链表的结点插入
18 0
|
4月前
|
算法 C语言
【数据结构与算法 刷题系列】求链表的中间结点
【数据结构与算法 刷题系列】求链表的中间结点