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

删除链表的倒数第N个结点

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。

示例 1:

输入:head = [1,2,3,4,5], n = 2
输出:[1,2,3,5]

示例 2:

输入:head = [1], n = 1
输出:[]

示例 3:

输入:head = [1,2], n = 1
输出:[1]

提示:

  • 链表中结点的数目为 sz
  • 1 <= sz <= 30
  • 0 <= Node.val <= 100
  • 1 <= n <= sz

代码实现:

/*** Definition for singly-linked list.* function ListNode(val, next) {*     this.val = (val===undefined ? 0 : val)*     this.next = (next===undefined ? null : next)* }*/
/*** @param {ListNode} head* @param {number} n* @return {ListNode}*/
var removeNthFromEnd = function (head, n) {// 创建虚拟头结点alet a = new ListNode(0);a.next = head;// 初始化快慢指针,都指向alet fast = a;let slow = a;// 快指针先移动n步for (let i = 0; i < n; i++) {fast = fast.next;}// 快指针的下一个节点不为空时,快慢指针一起移动// 快指针到末尾时,慢指针指向要删除结点的前一结点while (fast.next !== null) {fast = fast.next;slow = slow.next;}// 删除目标结点,慢指针的next指向下下个结点slow.next = slow.next.next;// 跳过a结点,返回链表头结点return a.next;
};

http://www.xdnf.cn/news/14303.html

相关文章:

  • 系统架构设计师 2
  • 音频水印——PerTh Watermarker
  • 《Attention Is All You Need》解读
  • 佛山SAP本地化代理商和实施公司推荐,哪家更专业?
  • Emacs定制:文件管理dired
  • 为应对激烈竞争环境,IBMS系统如何提升企业管理效率
  • [Java恶补day24] 整理模板·考点三【二分查找】
  • 2.1话题发布
  • 探索Agent的发展潜力:大模型与具身智能的融合
  • 浅谈拼写纠错
  • 调用AkShare获取A股股票基本信息
  • 布局和约束相关的生命周期(layoutIfNeeded,updateConstraintsIfNeeded)
  • iOS安全和逆向系列教程 第19篇:ARM64汇编语言基础与逆向分析
  • 使用清华大学的 Hugging Face 镜像
  • PTP时间同步实战测试clock master/slave 直连校时+PPS测试
  • 第8章——8天Python从入门到精通【itheima】-88~90-Python的文件操作(文件的写出+文件的追加+综合案例)
  • 强化学习 PPO
  • GRUB2 启动配置的工作原理与优先级规则详解
  • 软件测试银行项目之“信用卡测试流程”
  • LlamaIndex 工作流 并发执行
  • Day13_C语言基础项目实战
  • Java性能问题排查
  • 暴雨亮相EAC2025分享热管理液冷技术
  • Android 中 linux 命令查询设备信息
  • PyTorch框架-自动微分模块
  • 小知识点三、无刷电机闭环控制
  • 大模型_Ubuntu24.04安装RagFlow_使用hyper-v虚拟机_超级详细--人工智能工作笔记0251
  • 【C++】C++17之std::optional
  • 41.第二阶段x64游戏实战-封包-分析周围对象ID
  • qt信号与槽--01