【leetcode】剑指 Offer 22. 链表中倒数第k个节点(lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof)(双指针)[简单]
链接
https://leetcode-cn.com/problems/lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof/
耗时
解题:7 min
题解:3 min
题意
输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。
思路
快慢指针,快指针先向后移动 k 次,然后快慢指针同时移动,当快指针到达链表末尾的空节点时,慢指针正好指向倒数第 k 个节点。
时间复杂度:O(n)O(n)O(n)
AC代码
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {public:ListNode* getKthFromEnd(ListNode* head, int k) {ListNode* fast = head;ListNode* slow = head;for(int i = 0; i < k; ++i) {fast = fast->next;}while(fast != NULL) {fast = fast->next;slow = slow->next; }return slow;}
};
【leetcode】剑指 Offer 22. 链表中倒数第k个节点(lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof)(双指针)[简单]相关推荐
- leetcode 剑指 Offer 22. 链表中倒数第k个节点
题目描述: 输入一个链表,输出该链表中倒数第k个节点.为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点. 例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1.2.3 ...
- 【LeetCode】剑指 Offer 22. 链表中倒数第k个节点
[LeetCode]剑指 Offer 22. 链表中倒数第k个节点 文章目录 [LeetCode]剑指 Offer 22. 链表中倒数第k个节点 一.遍历 二.双指针 总结 一.遍历 先遍历统计链表长 ...
- 【每日一题】剑指 Offer 22. 链表中倒数第k个节点
剑指 Offer 22. 链表中倒数第k个节点
- 力扣—— 19. 删除链表的倒数第 N 个结点(java)、剑指 Offer 22. 链表中倒数第k个节点(java)
19. 删除链表的倒数第 N 个结点(java) 一.题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. 进阶:你能尝试使用一趟扫描实现吗? 输入:head = [1,2,3 ...
- 剑指offer——22.链表中倒数第k个节点
题目: 输入一个链表,输出该链表中倒数第k个结点. 知识点: 注意这种想法:找倒数第几个.中间的数或三分之一的数这种题,可以利用两个指针,通过指针移动的不同方式来实现 注意: 还是考虑的情况要周全,此 ...
- 剑指 Offer 22. 链表中倒数第k个节点(C语言)
输入一个链表,输出该链表中倒数第k个节点.为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点. 例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1.2.3.4.5.6 ...
- 【双100%解法】剑指 Offer 22. 链表中倒数第k个节点
立志用最少的代码做最高效的表达 输入一个链表,输出该链表中倒数第k个节点.为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点. 例如,一个链表有 6 个节点,从头节点开始,它们的 ...
- 【算法】剑指 Offer 22. 链表中倒数第k个节点
1.概述 输入一个链表,输出该链表中倒数第k个节点.为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点. 例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1.2.3. ...
- 剑指 Offer 22. 链表中倒数第k个节点
双指针,间隔k-1,当前面的指针到最后一个节点时,输出后面的指针. class Solution {public ListNode getKthFromEnd(ListNode head, int k ...
- LeetCode-剑指 Offer 22. 链表中倒数第k个节点
剑指 Offer 22. 链表中倒数第k个节点 思路一:利用快慢双指针 /*** Definition for singly-linked list.* struct ListNode {* int ...
最新文章
- 【Qt】QMainWindow最大化按钮是灰色(不能最大化)的解决方法
- R语言使用car包的influencePlot函数将回归分析中的离群点(outlier)、杠杆(leverage)和影响(influence)的信息组合成一个高度信息量丰富的合成图
- ubuntu adb
- 国外流行十大PHP框架
- 《Node.js 入门系列》—— 一些简单的排错方法(一)
- 【POJ - 2762】Going from u to v or from v to u?(Tarjan缩点,树形dp 或 拓扑排序,欧拉图相关)
- 天池 在线编程 最小振幅(排序)
- 服务器任务栏不显示程序,Win10任务栏不显示应用程序标签怎么办?
- eclipse java的jvm匹配_eclipse设置jvm
- 深度学习笔记(3) 向量化逻辑回归
- 国内首家,快手上线千万级QPS QUIC集群
- [翻译]The Data Access Application Block
- 获取位置_原神蜥蜴尾巴怎么获得 蜥蜴尾巴获取位置分享
- 翻译: 构建基于卡尔曼滤波器的 IMU 用速度数据改进 IMU 姿态估计
- Linux 系统镜像打包流程
- 华硕笔记本 FX50J Fn热键无效
- 第十三届“恩智浦”杯全国大学生智能汽车竞赛-信标对抗组比赛总结
- 【详细教程】阿里云ECS服务器搭建
- halcon计算一条弯曲线的回归直线
- tplink 文件服务器,tplink云服务器