剑指Offer - 面试题22. 链表中倒数第k个节点(快慢指针)
1. 题目
输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。
示例:
给定一个链表: 1->2->3->4->5, 和 k = 2.
返回链表 4->5.
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
- 快指针先走k步
- 随后快慢指针一起前进,直到快指针到达NULL
- 慢指针指向倒数第k个节点
class Solution {public:ListNode* getKthFromEnd(ListNode* head, int k) {ListNode *fast = head, *slow = head;while(k--)fast = fast->next;while(fast){fast = fast->next;slow = slow->next;}return slow;}
};
程序员面试金典 - 面试题 02.02. 返回倒数第 k 个节点
class Solution {public:int kthToLast(ListNode* head, int k) {ListNode *fast = head, *slow = head;while(k--)fast = fast->next;while(fast){fast = fast->next;slow = slow->next;}return slow->val;}
};
剑指Offer - 面试题22. 链表中倒数第k个节点(快慢指针)相关推荐
- 剑指offer面试题22. 链表中倒数第k个节点(链表)
题目描述 输入一个链表,输出该链表中倒数第k个节点.为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点.例如,一个链表有6个节点,从头节点开始,它们的值依次是1.2.3.4.5. ...
- 剑指offer面试题[15]-链表中倒数第K个结点
题目描述 输入一个链表,输出该链表中倒数第k个结点. 思路: 假设链表有n个结点,那么倒数第k个结点就是从头结点开始的第n-k+1个结点,我们只要从头结点开始往后走n-k+1步就可以了.那么问题来了: ...
- 剑指offer:面试题22. 链表中倒数第k个节点
题目:链表中倒数第k个节点 输入一个链表,输出该链表中倒数第k个节点.为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点.例如,一个链表有6个节点,从头节点开始,它们的值依次是1 ...
- 剑指offer(C++)-JZ22:链表中倒数最后k个结点(数据结构-链表)
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 输入一个长度为 n 的链表,设链表中的元素的值为 ai ,返回该链表中倒数第k个节点 ...
- 面试题22. 链表中倒数第k个节点
2020-03-21 1.题目描述 链表中倒数第k个节点 2.题解 倒数第k个,相当于正数第l-k+1个,其中l为链表的长度 3.代码 #include <iostream> using ...
- 【每日一题】剑指 Offer 22. 链表中倒数第k个节点
剑指 Offer 22. 链表中倒数第k个节点
- 【LeetCode】剑指 Offer 22. 链表中倒数第k个节点
[LeetCode]剑指 Offer 22. 链表中倒数第k个节点 文章目录 [LeetCode]剑指 Offer 22. 链表中倒数第k个节点 一.遍历 二.双指针 总结 一.遍历 先遍历统计链表长 ...
- 力扣—— 19. 删除链表的倒数第 N 个结点(java)、剑指 Offer 22. 链表中倒数第k个节点(java)
19. 删除链表的倒数第 N 个结点(java) 一.题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. 进阶:你能尝试使用一趟扫描实现吗? 输入:head = [1,2,3 ...
- LeetCode-剑指 Offer 22. 链表中倒数第k个节点
剑指 Offer 22. 链表中倒数第k个节点 思路一:利用快慢双指针 /*** Definition for singly-linked list.* struct ListNode {* int ...
最新文章
- 如何创建可扩展表视图中的iOS 学习和拓展优化(有待更新)
- 如何给安卓应用添加权限
- Android开发UI之Toast的使用
- ----------------学习进度表---------------------------------
- P3157 [CQOI2011]动态逆序对 (CDQ解决三维偏序问题)
- JFreeChart自定义拆线图
- 11月22日学习内容整理:bootstrap居中处理和组件,常用组件
- 拓端tecdat|R语言多分类logistic逻辑回归模型在混合分布模拟个人风险损失值评估的应用
- 视频教程-通俗易懂的JavaScript高级教程(含资料)-JavaScript
- 计算机控制系统直流电机闭环调速实验,51系列单片机直流电机闭环调速实验1.pdf...
- CPU温度过高会导致电脑死机么
- 掌握python和js_新华字典:掌_“掌”的意思,五笔,笔画,拼音,五行_HttpCN
- 使用光纤熔接机熔接光纤
- 行人轨迹论文阅读SSAGCN: Social Soft Attention Graph Convolution Network for Pedestrian Trajectory Prediction
- sqlserver Sum求和float类型 数据不准问题
- python爬猫眼电影影评,Python系列爬虫之爬取并简单分析猫眼电影影评
- Polar vector and axial vector(极矢量和轴向矢量)
- 【评测】小鼠肝细胞系(GHA1、AML12、BNL CL.2)培养实验操作步骤
- C++冗杂易忘基础知识整合
- 硬盘分区表丢失、修复大事记--分区表修复利器testdisk
热门文章
- 关于 HTTP 的一切(HTTP/1.1,HTTP/2,HTTP/3,HTTPS, CORS, 缓存 ,无状态)
- caffe专题五——回归中——检测框架
- 使用命名空间、头文件和实现文件
- java父子表_Java编程:将具有父子关系的数据库表数据转换为树形结构,支持无限层级...
- 如何用python打印田字格_如何用 3D 打印一双顶级跑鞋回形针
- 高地址和低地址、高字节低字节、大小端模式的转换,存储顺序
- 内核启动的汇编阶段——head.S文件
- 高版本号chrome安装flashplayer debuger后无法使用的问题
- HDU 1213 How Many Tables【并查集】
- EchoServer