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

LeeCode_19 删除链表的倒数第n个节点

19.删除链表的倒数第n个节点

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

示例 1:

image-10

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

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* removeNthFromEnd(ListNode* head, int n) {// 1. 计算正确的总长度int total = Totalsize(head);// 2. 特殊情况:如果要删除的是头节点 (倒数第 total 个)if (n == total) {ListNode* temp = head;head = head->next; // 移动头指针delete temp;       // 释放原头节点return head;}// 3. 想要删掉倒数第n个节点 <=> 删掉total-n-1 (无极端情况下通用)// 注意:total - n - 1 是 "被删除节点的前一个节点" 的下标// 例如长度 5,删倒数第 1 个(下标4),pos = 5-1-1 = 3。正确。// 例如长度 5,删倒数第 2 个(下标3),pos = 5-2-1 = 2。正确。deleteNode(head, total - n - 1);return head;}void deleteNode(ListNode* L, int pos) {ListNode* p = L;int i = 0;// 移动指针到目标位置的前一个节点// 增加 pos > 0 的判断防止越界while (i < pos && p != nullptr) {p = p->next;i++;}// 安全检查:防止链表结构异常导致空指针if (p == nullptr || p->next == nullptr) {return; }// 标准删除操作ListNode* q = p->next;p->next = q->next;delete q;}int Totalsize(ListNode* L){ListNode* p = L;int i = 0;//直接判断 p 是否为空while(p != nullptr){p = p->next;i++;}return i;}
};
http://www.jsqmd.com/news/270030/

相关文章:

  • 27考研记录数据结构以及一元函数微分学的学习记录
  • Win11怎么关闭自动更新_Win11禁用系统更新详细步骤,禁止windows系统更新的软件工具
  • 异地恋不慌!Like_Girl 情侣纪念站可以用cpolar把爱意存进云端随时看
  • Flutter for OpenHarmony移动数据使用监管助手App实战 - 帮助实现
  • 深度学习毕设项目:基于python-CNN机器学习卷积神经网络的不同衣服颜色识别
  • 【课程设计/毕业设计】基于python-CNN机器学习卷积神经网络对不同柑橘病变识别
  • PDF Eraser Pro 2.0 PDF Eraser:支持文本 图像精准擦除,可添加文字图片,适配办公、学习等 PDF 轻编辑场景
  • 【课程设计/毕业设计】基于深度学习python-CNN卷积神经网络的不同衣服颜色识别
  • Flutter入门:打包
  • RHCSA(2)
  • 深度学习毕设选题推荐:基于python-CNN卷积神经网络人工智能的不同衣服颜色识别
  • 2026最新版的小程序公司十大榜单排名!哪家更受欢迎呢? - 企业数字化改造和转型
  • 微信小程序要怎么做?哪家公司可以做?2026最全教程分享 - 企业数字化改造和转型
  • Java语言提供了八种基本类型。六种数字类型【函数艾弗森】
  • 微软运行库合集2026电脑版 - 一键安装缺失运行库 高效快速
  • 深度学习计算机毕设之基于python-CNN卷积神经网络人工智能对不同柑橘病变识别
  • springboot非物质文化遗产再创新系统
  • Cardano:构建在科学严谨性上的下一代区块链生态系统
  • RWA:打通现实与数字世界的万亿美元资产桥梁
  • 基于 YOLOv26 的机场航拍小目标检测系统:技术详解与模型原理
  • 2026年最新版小程序开发公司TOP排名:哪家才是首选? - 企业数字化改造和转型
  • springboot非遗文化传承与推广平台管理系统
  • 《当投放预算跑不动:易元AI如何解决电商素材产能的系统性瓶颈》
  • 13.QLabel新手入门
  • 计算机深度学习毕设实战-基于python-深度学习机器学习CNN-pytorch训练识别蝴蝶-蚂蚱等昆虫
  • 攻防世界cookie
  • unity性能优化之Drawcall优化
  • 学习Java的第七天——基础(方法的使用)
  • 【计算机毕业设计案例】基于Python的淘宝月季销售预测数据可视化系统(程序+文档+讲解+定制)
  • 2025具身端侧芯片与云边协同:除了NV Thor,还有哪些芯片在具身机器人上整活儿