news 2026/4/23 6:18:25

链表中倒数最后k个结点

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
链表中倒数最后k个结点

求解代码

publicListNodeFindKthToTail(ListNodepHead,intk){// 快慢指针开始都指向链表头节点ListNodefast=pHead;ListNodeslow=pHead;// 快指针先向前移动 k 步for(inti=0;i<k;i++){if(fast!=null){fast=fast.next;}else{// 若快指针提前到末尾(说明k > 链表长度),直接返回nullreturnnull;}}// 快慢指针同步向后移动,直到快指针指向nullwhile(fast!=null){fast=fast.next;slow=slow.next;}// 慢指针正好指向倒数第k个节点returnslow;}

为什么可以这么做呢?

这里说明一下:

假设啊,链表总长度是n,fast指针先移动k步后,剩下的没有走的长度就是n-k;

之后,fast和slow指针同步移动,

当fast指针走完剩下的n-k步到达末尾时,

slow指针也恰好走了n-k步,

而这个位置正好就是倒数第k个节点的位置。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 11:35:09

Stream流式编程 中间操作和终端操作介绍

一、先立心智模型&#xff1a;Stream 到底是什么&#xff1f; Stream 不是集合&#xff0c;不存数据&#xff0c;不改数据。 它是&#xff1a; 对数据源的一次性、惰性的、函数式“处理流程描述” 三点必须刻在脑子里&#xff1a; 惰性执行&#xff1a;中间操作不执行&#x…

作者头像 李华
网站建设 2026/4/22 15:16:11

看看人家怎么弄分布式缓存的!

缓存能加快数据的访问速度&#xff0c;几乎每个软件都会使用这一技术。自1968 年 在 360/85 系统上引入高速缓存&#xff08;cache&#xff09;一词以来&#xff0c;缓存技术经历了多次迭代更新&#xff0c; 还出现了许多种缓存框架和工具&#xff0c;以降低其使用门槛和风险。…

作者头像 李华
网站建设 2026/4/23 9:59:11

ArcGIS Pro3.5.2安装包+安装详细教程+系统需求

文章将包括系统安装需求说明软件包分享安装教程 先前版本请看&#xff1a; ArcGIS Pro稳定版 3.0.2 破解安装软件分享测试说明 ArcGIS Pro 3.1.5 破解安装软件分享测试说明 ArcGIS Pro3.3.2安装详细教程旧版本直接升级还是卸载旧版本再装&#xff1f; 一、系统安装需求升级…

作者头像 李华
网站建设 2026/4/23 13:37:00

ArcGIS Pro查看多期数据变化!卷帘+多地图联动齐上架

之前介绍了ArcGIS效果工具条实现查看两期数据变化。 那么&#xff0c;如果在ArcGIS Pro中又该如何操作呢&#xff1f;ArcGIS Pro中其实有对应的卷帘效果与比较功能&#xff01;一样可以把卷帘和透明度用起来。 多期数据源的加载查看&#xff1a; 2025年最新&#xff08;全球&a…

作者头像 李华
网站建设 2026/4/23 12:25:57

深度学习毕设选题推荐:人工智能基于python深度学习的印刷体数字和字母识别基于python深度学习的印刷体数字和字母识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华