当前位置: 首页 > news >正文

[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 等常数个额外指针变量。

http://www.cnnetsun.cn/news/71322.html

相关文章:

  • 文件哈希值批量修改新方案:告别传统计算的效率革命
  • Beyond Compare 5完整使用指南:三步实现免费授权
  • ComfyUI-Manager终极指南:一键配置AI绘画管理平台
  • 如何快速获取网盘文件真实下载地址?2025年最实用的网盘直链工具推荐
  • Redis过期键管理终极技巧:AnotherRedisDesktopManager可视化监控实战
  • 知识星球内容数字化归档:从信息流到结构化知识库的技术实践
  • NatTypeTester终极指南:3分钟快速诊断网络NAT类型,彻底解决游戏卡顿和视频会议延迟问题
  • Tsuru容器平台架构深度解析:企业级PaaS部署实战指南
  • GHelper终极指南:7步解锁华硕ROG笔记本隐藏性能
  • ACE-Step适配国产操作系统:推动开源音乐AI生态发展
  • 智能健康数据管理2025终极指南:免费多平台步数同步完整方案
  • 5分钟搭建Sunshine游戏串流:免费开源让全家共享游戏乐趣
  • 智能对话系统构建指南:5步搭建企业级微信机器人
  • HunyuanVideo-Foley + OpenCV 实现视频帧分析与音效精准匹配
  • 突破Windows权限天花板:5分钟掌握TrustedInstaller特权获取技巧
  • arp-scan局域网设备发现工具完全使用手册
  • 阴阳师脚本一键安装指南:告别手动肝游戏的终极解决方案
  • Windows虚拟显示器完整指南:免费扩展多屏工作空间
  • Windows 11远程桌面多用户终极解决方案:RDP Wrapper完整配置手册
  • 3分钟掌握Windows虚拟显示器:打造无限工作空间的终极指南
  • Transformer模型详解进阶:Qwen3-VL-30B的结构创新点剖析
  • 4个查AI率工具和2个降ai工具效果测评,分分钟AI率降到个位数!
  • 4个查AI率工具和2个降ai工具效果测评,AI率降到10%!
  • 1111111111111
  • 【办公类-18-07】20251215(Python)“口腔检查涂氟信息”批量生成打印(区名、学号、姓名、学校、班级、身份证、户籍、性别、民族)
  • HTTP网络巩固知识基础题(2)
  • Windows三指拖拽终极指南:从零配置到精通使用
  • Tsuru容器网络性能实战解析:从架构原理到生产优化
  • HunyuanVideo-Foley支持百度云盘镜像下载,加速全球分发
  • 5分钟搞定Vue项目Office文档预览:零配置组件库终极指南