当前位置: 首页 > 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;}
};

相关文章:

  • 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有脉冲输出,但伺服电机无法旋转
  • 网站制作-杭州/长尾关键词挖掘站长工具
  • 做产品的淘宝客网站/成都官网seo厂家
  • 寻找郑州网站建设公司/今天全国疫情最新消息
  • 网站建设普通发票税点/dw网页设计模板网站
  • c 做网站的六大对象/杭州seo网络推广
  • 校园网站建设服务/品牌推广和营销推广