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

Leetcode-19. 删除链表的倒数第 N 个结点

这里采用 计算链表长度法

  • 第一次遍历链表,得到链表长度 length

  • 计算要删除节点的正序位置length - n + 1

  • 用一个虚拟头节点 dummy 来统一处理删除头结点的情况。

  • 第二次遍历,将要删除的节点跳过,即让前驱节点指向要删除节点的下一个节点。


解题过程

  1. 遍历一次链表,用 length 记录节点总数。

  2. 计算要删除的节点前一个节点的位置,也就是 length - n

  3. 使用一个 dummy 节点 指向 head,用 tail 指针遍历到该位置。

  4. 直接跳过目标节点:tail.next = tail.next.next

  5. 返回 dummy.next 作为新链表头。

image.png

# Definition for singly-linked list.# class ListNode:#     def __init__(self, val=0, next=None):#         self.val = val#         self.next = nextclass Solution:def removeNthFromEnd(self, head: Optional[ListNode], n: int) -> Optional[ListNode]:num=headi=0while num:i+=1num=num.nextp=headdummy=ListNode()tail=dummyfor j in range(i-n):tail.next=pp=p.nexttail=tail.nexttemp=p.nexttail.next=tempreturn dummy.next
http://www.dtcms.com/a/323058.html

相关文章:

  • 机器学习第七课之支持向量机SVM
  • 【线性代数】线性方程组与矩阵——(3)线性方程组解的结构
  • 如何在 Windows 下使用 WSL 安装 Ubuntu 并配置国内镜像
  • 力扣前200题字符串总结
  • 差分放大电路分析与仿真
  • 阿里Qwen-Image本地部署详细指南
  • 机器翻译正则化技术详解:防止过拟合的有效方法
  • 推客系统开发全攻略:从架构设计到高并发实战
  • 【Python 高频 API 速学 ⑤】
  • 软考 系统架构设计师系列知识点之杂项集萃(120)
  • 使用jlink-gdb-server 加 gdb调试嵌软2
  • 2025年SEVC SCI2区,基于深度强化学习与模拟退火的多无人机侦察任务规划,深度解析+性能实测
  • 压力传感器选型铁三角:介质·安全·精度
  • 多模型动态路由框架实践:提升推理效率与资源利用率的技术方案
  • 数据结构5.(哈希表及数据的排序和查找算法)
  • GPT-5的4个缺点
  • 数据结构初阶(7)树 二叉树
  • 使用qemu运行与GDB调试内核
  • 解决python错误:playwright._impl._errors.TimeoutError: Timeout 30000ms exceeded.
  • STM32——时钟系统
  • BMS三大领域:电池、楼宇与业务管理系统解析
  • STranslate(翻译OCR工具) v1.5.4.801绿色版,屏幕文字秒译,OCR识别零门槛
  • C++ unordered_map 和 unordered_set 的使用
  • 神经网络-local minima and saddle point
  • 【linux基础】Linux目录和Windows目录的区别
  • ACF插件编辑器无法插入相册的原因及解决方案
  • 黑马点评07 - 附近商户/用户签到/UV统计
  • 【Python 高频 API 速学 ⑦ · 完结篇】
  • CrystalDiskInfo 9.0.1 安装教程 - 硬盘检测工具下载安装步骤详解
  • 【智能穿戴设备】2025智能穿戴隐私危机:数据安全保障技术深度剖析