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

【力扣链表篇】19.删除链表的倒数第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

解答:

首先,这种问题可以使用双指针(快慢指针)来解决,先让快指针移动N+1步骤(N指第N个节点),慢指针不动,最后快慢指针一起移动,移动到快指针指向链表最后的NULL停止。

class Solution {
public:ListNode* removeNthFromEnd(ListNode* head, int n) {ListNode* xu = new ListNode(0,head);ListNode* slow=xu;ListNode* fast=head;//删除第n个节点,需要快指针移动n+1步,所以多的+1这一步就让他指向头节点就可以了while(n--){//快指针走n步fast=fast->next;}while(fast!=NULL){//快慢指针一起走,走到快指针指向空fast=fast->next;slow=slow->next;}slow->next=slow->next->next;//此时慢指针指向想要删除节点的前一个位置,可以进行删除了return xu->next;}
};

http://www.dtcms.com/a/237286.html

相关文章:

  • 2025年06月07日Github流行趋势
  • Vue3 项目的基本架构解读
  • 2012-2023年 上市公司-知识重组创造、知识重组再利用数据-社科经管实证数据
  • 《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析LLP (二)
  • 备份还原打印机驱动
  • 数据库管理与高可用-MySQL高可用
  • Java基于SpringBoot的校园闲置物品交易系统,附源码+文档说明
  • 以智能管理为基础,楼宇自控打造建筑碳中和新路径
  • WebFuture 系统升级提示外键约束的问题处理
  • WebWorker-----高频面试题(浏览器篇)
  • 30、memory-order-relaxed
  • 从零开始开发纯血鸿蒙应用之网络检测
  • A Execllent Software Project Review and Solutions
  • 【物联网-ModBus-RTU
  • 【Go语言基础【14】】defer与异常处理(panic、recover)
  • 【HarmonyOS 5】拍摄美化开发实践介绍以及详细案例
  • 关于datetime获取时间的问题
  • n8n + AI Agent:AI 自动化生成测试用例并支持导出 Excel
  • 洛谷P12170 [蓝桥杯 2025 省 Python B] 攻击次数
  • PLC有脉冲输出,但伺服电机无法旋转
  • 数组名作为函数参数详解 —— 指针退化及遍历应用示例
  • 一款“短小精悍的”手机录屏软件
  • Linux与Windows切换使用Obsidian,出现 unexplained changes 问题的解决
  • Postman测试学习(1)
  • GPU集群故障分析:大型AI训练中的硬件问题与影响
  • frida简介及环境搭建
  • 「完整」AI文档库 | 5月4日发布,东吴证券:《AI Agent深度二:2025 Agent元年,AI从L2向L3发展》
  • C# 关于CS0433错误的解决方法
  • c++ 单例模式
  • Qwen 大模型-对话模板中system与user的区别解析