链表中倒数第k个结点 — C++实现
发布日期:2021-10-02 06:27:39
浏览次数:3
分类:技术文章
本文共 618 字,大约阅读时间需要 2 分钟。
题目描述
输入一个链表,输出该链表中倒数第k个结点。
解题思路
直接思路是遍历链表,遍历的时候压栈,遍历完后出栈,倒数出k
个就行。但这样肯定是拿不到Offer
的。
可以这么做,拿两个指针从头遍历,让一个先走k-1
步,然后两个指针再一起走,当先走的指针遍历到尾结点时,后走的那个即为所求。
有几个点需要注意:
- 输入空链表的处理
k
为0
的情况k
大于链表的长度
代码实现
class Solution { public: ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) { if(!pListHead||k==0)return NULL; ListNode *p,*q; p=pListHead; for(unsigned int i=0;inext; }else{ return NULL; } } q=pListHead; while(p){ p=p->next; q=q->next; } return q; }};
运行时间:2ms占用内存:376k
转载地址:https://blog.csdn.net/Jeaten/article/details/108312970 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年04月26日 06时24分49秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
LeetCode-122. 买卖股票的最佳时机 II(Goland实现)
2019-04-27
LeetCode-136. 只出现一次的数字(Goland实现)
2019-04-27
go-递归实现二叉树的三种排序方式(前序、中序、后序)【详细】
2019-04-27
LeetCode-409. 最长回文串(Goland实现)
2019-04-27
LeetCode-LCP 18. 早餐组合(Goland实现)
2019-04-27
PDF - 如何 PDF 文档在全屏模式同时显示两页
2019-04-27
区块链 - 什么是区块链?这是我见过的最通俗易懂的解释
2019-04-27
区块链 - 侠客岛:终于有人把区块链讲清楚了
2019-04-27
PPT - 如何从 PowerPoint 幻灯片中删除幻灯片编号
2019-04-27
正则表达式 - 匹配任何字符(包括换行符)
2019-04-27
程序人生 - 5G来了!路由器和移动硬盘危险了?
2019-04-27
JS - mescroll.js 下拉刷新使用时应该注意的问题(卡顿,滑不动)
2019-04-27
赚钱 36 计 - 第十五计:扣点计
2019-04-27
赚钱 36 计 - 第十六计:生态计
2019-04-27
赚钱 36 计 - 第十九计:传媒计
2019-04-27
DOS - 批处理之 for /f 中的 delims 和 tokens
2019-04-27
程序人生 - 如何通过劳动仲裁拿到应该的补偿——程序员的维权之路
2019-04-27
医学小知识 - 胶囊胃镜一次多少钱?有什么缺点?和普通胃镜有什么区别?
2019-04-27