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.mzph.cn/news/1185645.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

救命神器8个AI论文网站,本科生搞定毕业论文不求人!

救命神器8个AI论文网站&#xff0c;本科生搞定毕业论文不求人&#xff01; AI 工具让论文写作不再难 对于本科生来说&#xff0c;毕业论文无疑是大学生活中最具挑战性的任务之一。从选题、查资料到撰写、修改&#xff0c;每一步都可能让人感到焦虑和无力。而如今&#xff0c;随…

MATLAB:一种超声图像的运动分析方法(块匹配法)

0 引言 心血管疾病( cardiovascular diseases,CVD)危险因素对居民健康的影响愈加显著,CVD 的发病率仍持续增高。 CVD 给居民和社会 带来的经济负担日渐加重,已成为重大的公共卫生问题&#xff0c;已成为危害各国人民健康的三大疾病之一&#xff0c;其患病率和死亡率居于全球之首…

微信小程序要怎么做?哪家公司可以做?2026最全教程分享 - 企业数字化改造和转型

作为深耕小程序开发领域8年的老兵,我经手过几百个从0到1的小程序项目,不管是个体户想做线上门店,还是企业搭建私域载体,最实用的路径其实是借助成熟的小程序制作平台——不用懂代码,成本可控,还能快速上线。毕竟…

Java语言提供了八种基本类型。六种数字类型【函数艾弗森】

变量就是申请内存来存储值。也就是说&#xff0c;当创建变量的时候&#xff0c;需要在内存中申请空间。 内存管理系统根据变量的类型为变量分配存储空间&#xff0c;分配的空间只能用来储存该类型数据。 因此&#xff0c;通过定义不同类型的变量&#xff0c;可以在内存中储存整…

异地恋不慌!Like_Girl 情侣纪念站可以用cpolar把爱意存进云端随时看

Like_Girl v5.2.0 作为专为情侣打造的纪念网站系统&#xff0c;核心功能贴合情侣日常记录需求&#xff1a;恋爱计时器精准到秒记录相伴时光&#xff0c;留言板可留存日常甜蜜对话&#xff0c;恋爱相册能收纳合照与心动瞬间&#xff0c;还有恋爱清单、点点滴滴等板块定格回忆&am…

Win11怎么关闭自动更新_Win11禁用系统更新详细步骤,禁止windows系统更新的软件工具

Win11怎么关闭自动更新_Win11禁用系统更新详细步骤【教程】 Windows系统的自动更新功能本来是好意&#xff0c;能帮我们及时安装安全补丁和新功能。但实际用起来&#xff0c;不少人却被它搞得头大&#xff1a; 正忙着工作呢&#xff0c;突然弹出更新提示&#xff0c;打断思路…

TRON链深度解析:从华人公链到全球稳定币枢纽的演进之路

在多元化的公链竞争中&#xff0c;TRON&#xff08;波场&#xff09;以其清晰的战略定位和技术特色&#xff0c;发展成为全球区块链生态中不可或缺的一部分。本文将深入探讨TRON链的发展历程、技术架构、生态系统与未来前景。一、历史演进&#xff1a;从内容娱乐平台到金融基础…

微软运行库合集2026电脑版 - 一键安装缺失运行库 高效快速

系统提示DLL系统缺失怎么办&#xff1f;DLL系统修复专家:微软件运行库合集 2026电脑版 - 一键安装缺失运行库 高效快速 微软件运行库合集-搭载先进的算法和海量数据库,可以迅速的检测出电脑缺失的. dll文件类型, 以及存在的问题&#xff0c;高效精准修复异常运行库,快速恢复系统…

基于 YOLOv26 的危险物品检测系统:技术详解与模型原理

文章目录基于 YOLOv26 的危险物品检测系统&#xff1a;技术详解与模型原理前言一、系统核心挑战二、YOLOv26 模型原理主要模块和功能三、数据集与预处理1. 数据收集2. 数据标注3. 数据增强四、训练流程与优化1. 环境配置2. 模型训练示例3. 优化策略五、推理与评估1. 模型推理2.…

Avalanche(雪崩协议):重新定义高性能区块链的架构与未来

在区块链技术快速发展的今天&#xff0c;Avalanche&#xff08;雪崩协议&#xff09;凭借其创新的共识机制和独特的架构设计&#xff0c;已成为解决“区块链三难困境”的重要竞争者。本文将深入解析Avalanche的技术特点、发展历程、生态系统及未来前景。一、Avalanche是什么&am…

深度学习计算机毕设之基于python-CNN卷积神经网络人工智能对不同柑橘病变识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

基于 YOLOv26 的车型识别与计数系统:技术详解与模型原理

文章目录基于 YOLOv26 的车型识别与计数系统&#xff1a;技术详解与模型原理前言一、系统核心需求与挑战二、YOLOv26 模型原理核心设计原则任务特定优化主要模块三、数据集与预处理1. 数据采集2. 数据标注3. 数据增强四、训练流程与优化1. 环境准备2. YOLOv26 配置示例3. 模型训…

springboot非物质文化遗产再创新系统

背景分析非物质文化遗产&#xff08;非遗&#xff09;作为文化传承的重要载体&#xff0c;面临现代化冲击下的保护与传承难题。传统记录方式效率低、传播范围有限&#xff0c;年轻群体参与度不足。SpringBoot框架因其快速开发、微服务支持等特性&#xff0c;为构建数字化非遗系…

Cardano:构建在科学严谨性上的下一代区块链生态系统

在区块链技术快速发展的浪潮中&#xff0c;Cardano&#xff08;ADA&#xff09;以其独特的“研究先行”理念和科学的开发方法&#xff0c;致力于解决早期区块链网络在可扩展性、互操作性与可持续性方面的核心挑战。本文将深入探讨Cardano的历史背景、技术架构、生态系统作用及其…

RWA:打通现实与数字世界的万亿美元资产桥梁

在区块链技术蓬勃发展的今天&#xff0c;一个关键趋势正悄然改变我们对资产所有权的认知&#xff1a;现实世界资产代币化。这一被称为RWA的赛道&#xff0c;旨在将房地产、债券、艺术品等传统资产引入区块链&#xff0c;实现数字化与代币化&#xff0c;构建连接现实与数字世界的…

springboot非遗文化传承与推广平台管理系统

非遗文化传承与推广平台的背景随着全球化与现代化进程加快&#xff0c;许多非物质文化遗产&#xff08;非遗&#xff09;面临失传风险。传统手工技艺、民俗活动、口头传统等因缺乏系统记录、传播渠道有限、年轻一代参与度低等问题逐渐边缘化。数字化技术的普及为非遗保护提供了…

基于 YOLOv26 的机场航拍小目标检测系统:技术详解与模型原理

文章目录基于 YOLOv26 的机场航拍小目标检测系统&#xff1a;技术详解与模型原理前言一、系统需求与挑战二、YOLOv26 模型原理核心设计原则任务特定优化模块结构三、数据集与预处理1. 数据采集2. 数据标注3. 数据增强四、模型训练与优化1. 环境配置2. 配置 YOLOv26 数据集3. 模…

2026年最新版小程序开发公司TOP排名:哪家才是首选? - 企业数字化改造和转型

进入2026年,小程序已成为企业数字化转型的标配工具。但随着市场选择越来越多,许多企业主面临挑选靠谱小程序服务商的难题:技术门槛高、隐性费用多、后续运维难、访客量受限……这些常见痛点该如何解决?今天我们结合…

13.QLabel新手入门

一、核心知识点总结功能核心方法关键说明显示纯文本setText("文本") / setNum(数字)setNum自动把数字转文本&#xff0c;更方便显示富文本/HTMLsetText("HTML代码")支持字体、颜色、图片、超链接显示图片setPixmap(QPixmap("路径"))配合setScale…

《当投放预算跑不动:易元AI如何解决电商素材产能的系统性瓶颈》

Q1&#xff1a;现在电商投放最大的瓶颈是什么&#xff1f; A&#xff1a;不是预算&#xff0c;而是素材产能。 很多品牌并不是不敢花钱&#xff0c;而是没有足够多、足够快的投放素材承接消耗。人工剪辑单条素材消耗高&#xff0c;但产能有限&#xff0c;一旦素材跑量&#xff…