算法每日一题(链表中倒数第k个结点)

简介: 算法每日一题(链表中倒数第k个结点)

 在本篇文章里,我将分享一道很经典的算法题———链表中倒数第k个结点,并且分享解题思路,希望可以帮助到你😀😀😀

链表中倒数第k个结点_牛客题霸_牛客网

题目描述:

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

示例1:

输入:1,{1,2,3,4,5}

返回值:{5}

以下代码均经过牛客测试,均正确,请放心测试😊😊😊

解题思路:

这是一道经典的快慢指针问题,设置一对快慢指针即可!

image.gif编辑

代码:

struct ListNode* FindKthToTail(struct ListNode* pListHead, int k )
 {
    // write code here
    struct ListNode* fast = pListHead, *slow = pListHead;
    while (k--)
 {
        if (fast == NULL)
        {
            return NULL;
        }
        fast = fast->next;
    }
    while (fast) {
        fast = fast->next;
        slow = slow->next;
    }
    return slow;
}

image.gif

结果展示:

image.gif编辑

最后

十分感谢你可以耐着性子把它读完和我可以坚持写到这里,送几句话,对你,也对我:

1、要么努力往上爬,要么烂在社会最底层。

2你现在的努力,真的配得上你的野心吗 ?

3、承认吧你表面的不屑,只是因为你骨子里的不敢。

4、“你说我现在开始好好学,晚了吗?” “我说晚了,你就不学吗???” 他们都是假装颓废,而你是真的颓废。

5、有种错觉叫做“我在头脑中激情澎湃了一会儿就权当我努力过了”,还有种常态叫做“我临睡前想做件大事改变世界激动得睡不着第二天早上连早起都做不到”。

最后如果觉得我写的还不错,请不要忘记点赞✌,收藏✌,加关注✌哦(。・ω・。)

**愿我们一起加油,奔向更美好的未来,愿我们从懵懵懂懂的一枚==菜鸟==逐渐成为==大佬==。加油,为自己点赞!**

目录
相关文章
|
4天前
链表的中间结点
链表的中间结点
166 57
|
27天前
|
算法
LeetCode第19题删除链表的倒数第 N 个结点
该文章介绍了 LeetCode 第 19 题删除链表的倒数第 N 个结点的解法,通过使用快慢双指针,先将快指针移动 n 步,然后快慢指针一起遍历,直到快指针到达链尾,从而找到倒数第 N 个结点的前一个结点进行删除,同时总结了快慢指针可减少链表遍历次数的特点。
LeetCode第19题删除链表的倒数第 N 个结点
|
28天前
|
算法
【算法】合并两个有序链表(easy)——递归算法
【算法】合并两个有序链表(easy)——递归算法
【算法】合并两个有序链表(easy)——递归算法
|
23天前
|
存储 算法
【初阶数据结构篇】顺序表和链表算法题
此题可以先找到中间节点,然后把后半部分逆置,最近前后两部分一一比对,如果节点的值全部相同,则即为回文。
|
26天前
|
算法
【数据结构与算法】共享双向链表
【数据结构与算法】共享双向链表
10 0
|
26天前
|
算法
【数据结构与算法】双向链表
【数据结构与算法】双向链表
10 0
|
26天前
|
算法
【数据结构与算法】循环链表
【数据结构与算法】循环链表
10 0
|
26天前
|
存储 算法
【数据结构与算法】链表
【数据结构与算法】链表
15 0
|
3月前
|
存储 SQL 算法
LeetCode力扣第114题:多种算法实现 将二叉树展开为链表
LeetCode力扣第114题:多种算法实现 将二叉树展开为链表
|
3月前
|
存储 SQL 算法
LeetCode 题目 86:分隔链表
LeetCode 题目 86:分隔链表