news 2026/10/8 23:19:02

[19] Remove Nth Node From End of List 删除链表的倒数第N个节点

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[19] Remove Nth Node From End of List 删除链表的倒数第N个节点

[19] Remove Nth Node From End of List

力扣题目链接

1. 快慢指针
1.1 思想

使用快慢指针一趟扫描,找到待删除节点的前驱节点。

  • 创建两个指针 fast 和 slow,都初始化为dummyHead。
  • 建立距离: 让 fast 指针先向前移动 n 步。此时,fast 和 slow 之间就形成了一个固定的、长度为 n 的“窗口”。
  • 同步前进: 然后,同时移动 fast 和 slow 指针,一步一步向后,直到 fast 指针到达链表的最后一个节点(fast->next == nullptr)。
  • 精准定位: 在同步前进的过程中,因为 fast 和 slow 之间始终保持着 n 个步长的距离,所以当 fast 到达链表末尾时,slow 指针恰好位于倒数第 n 个节点的前一个节点。
  • 快慢指针之间的距离为n个步长,当快指针为倒数第一个节点时,他与最后一个节点的距离为0,此时慢指针与最后一个节点的距离为n,所以慢指针指向的是倒数n+1个节点。
1.2 AC代码
ListNode *removeNthFromEnd(ListNode *head, int n) { // 创建虚拟头节点,统一操作 ListNode *dummyHead = new ListNode(0); dummyHead->next = head; ListNode *f = dummyHead; ListNode *s = dummyHead; // 快指针先向前移动 n 步 while (n-- && f != nullptr) { f = f->next; } // 快慢指针同步前进,直到 fast 到达最后一个节点 // 此时 slow 正好在待删除节点的前一个位置 while (f->next != nullptr) { f = f->next; s = s->next; } // 删除操作 ListNode *toDelete = s->next; s->next = toDelete->next; delete toDelete; // 释放内存 // 返回新链表的头节点 ListNode *realHead = dummyHead->next; delete dummyHead; return realHead; }
1.3 时空复杂度

时间复杂度: O(N)。其中 N 是链表的长度。快指针总共遍历了整个链表一次。

空间复杂度: O(1)。只使用了 fast, slow 等常数个额外指针变量。

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

文件哈希值批量修改新方案:告别传统计算的效率革命

文件哈希值批量修改新方案:告别传统计算的效率革命 【免费下载链接】HashCalculator 一个文件哈希值批量计算器,支持将结果导出为文本文件功能和批量检验哈希值功能。 项目地址: https://gitcode.com/gh_mirrors/ha/HashCalculator 在日常文件管理…

作者头像 李华
网站建设 2026/10/8 3:29:39

Beyond Compare 5完整使用指南:三步实现免费授权

还在为文件对比工具Beyond Compare的授权费用而困扰吗?作为程序员和设计师必备的效率工具,其强大的功能确实令人难以割舍。今天分享的这套完整使用方案,将彻底解决你的授权烦恼。 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项…

作者头像 李华
网站建设 2026/10/8 23:58:09

ComfyUI-Manager终极指南:一键配置AI绘画管理平台

ComfyUI-Manager终极指南:一键配置AI绘画管理平台 【免费下载链接】ComfyUI-Manager 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Manager ComfyUI-Manager彻底颠覆了传统AI绘画插件的安装方式,让繁琐的技术操作变得简单直观。这个强大…

作者头像 李华
网站建设 2026/10/8 15:58:54

如何快速获取网盘文件真实下载地址?2025年最实用的网盘直链工具推荐

您是否经常遇到网盘下载速度缓慢、需要反复输入验证码的困扰?面对各大网盘平台复杂的下载流程,一款能够自动解析真实下载地址的工具显得尤为重要。网盘直链下载助手正是为解决这一问题而生的开源工具,它基于JavaScript开发,支持八…

作者头像 李华
网站建设 2026/10/9 3:53:59

Redis过期键管理终极技巧:AnotherRedisDesktopManager可视化监控实战

Redis过期键管理终极技巧:AnotherRedisDesktopManager可视化监控实战 【免费下载链接】AnotherRedisDesktopManager qishibo/AnotherRedisDesktopManager: Another Redis Desktop Manager 是一款跨平台的Redis桌面管理工具,提供图形用户界面,…

作者头像 李华
网站建设 2026/10/8 7:07:29

知识星球内容数字化归档:从信息流到结构化知识库的技术实践

知识星球内容数字化归档:从信息流到结构化知识库的技术实践 【免费下载链接】zsxq-spider 爬取知识星球内容,并制作 PDF 电子书。 项目地址: https://gitcode.com/gh_mirrors/zs/zsxq-spider 引言:数字时代的知识管理挑战 在信息爆炸…

作者头像 李华