算法篇—返回倒数第k个节点

返回倒数第k个节点
实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。
注意:本题相对原题稍作改动
示例:
输入: 1->2->3->4->5 和 k = 2
输出: 4
说明:
给定的 k 保证是有效的。

时间复杂度O(N)

空间复杂度O(1)

解题思路:

我们可以创建两个指针slow和fast都指向头节点,返回k个节点我们可以让另一个指针fast先走k次,此时两个节点开始同步走,当fast走到null,那么就可以确定slow就是那个倒数第k的节点并返回

c 复制代码
int kthToLast(struct ListNode* head, int k) {
    if(head==NULL)
        return  NULL;
    struct ListNode* slow=head;
    struct ListNode* fast=head;
    while(k--)
    {
        fast=fast->next;
    }
    while(fast)
    {
        slow=slow->next;
        fast=fast->next;
    }
    return slow->val;
}
相关推荐
文丑颜不良啊5 分钟前
LeetCode2241~2260题目解析
java·leetcode
文丑颜不良啊10 分钟前
LeetCode2321~2340题目解析
java·leetcode
青少儿编程课堂40 分钟前
蓝桥杯青少组图形化 STEMA 省考(报名倒计时·11/22开考)+ 全国青少年信息素养大赛 2026—2027赛季 + 电子学会图形化考级:校园华容道大闯关
c++·python·算法·bfs·信息学竞赛
白杨尚青1 小时前
C++进阶篇(五):红黑树——四条规则、三种插入情况与旋转变色
开发语言·数据结构·c++·stl·红黑树·平衡二叉树
在猴站学算法2 小时前
(《统计学习方法》(第2版) 李航)第2章 感知机算法
学习·算法·机器学习·统计学习
Rainmicro2 小时前
【无标题】
java·数据库·算法
wuyk55511 小时前
Keil工具链-第05讲-启动文件与__main到底做了什么
c语言·stm32·单片机·嵌入式硬件·物联网
NEFU_Jyj12 小时前
牛客周赛R168
算法
likexuec18 小时前
数据结构(2)
数据结构