【链表-7】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]解题思路方法一暴力解法我的思路先把链表的值按顺序存入 vector删除倒数第 n 个再用剩下的值重建一个新链表。具体步骤边界处理如果链表只有一个节点直接返回nullptr取值遍历链表把所有值存入temp删除从temp中删除倒数第 n 个重建用temp中的值新建链表节点连接成新链表返回返回新链表的头节点用例子走一遍head 1 - 2 - 3 - 4 - 5,n 2步骤操作结果1遍历链表temp [1, 2, 3, 4, 5]2删除倒数第2个下标 5-23temp [1, 2, 3, 5]3重建链表1 - 2 - 3 - 54返回1 - 2 - 3 - 5✅代码实现class Solution { public: ListNode* removeNthFromEnd(ListNode* head, int n) { if(head-nextnullptr) return nullptr; vectorint temp; while(head!nullptr){ temp.push_back(head-val); headhead-next; } temp.erase(temp.begin() (temp.size() - n)); ListNode* hnullptr; ListNode* tnullptr; for(int x:temp){ ListNode* nodenew ListNode(x); if(hnullptr){ hnode; tnode; } else{ t-nextnode; tnode; } } return h; } };复杂度分析维度复杂度说明时间复杂度O(n)遍历链表一次 O(n) 重建链表一次 O(n)空间复杂度O(n)temp存储 n 个值 新建 n-1 个节点缺点❌空间复杂度 O(n)需要额外存储所有值和新建所有节点❌没有利用链表的特性链表题应该用指针操作而不是转成数组方法二快慢指针O(1) 空间核心思路fast先走n1步fast和slow同时走当fast到末尾时slow正好在要删除节点的前一个直接slow-next slow-next-next完成删除代码实现class Solution { public: ListNode* removeNthFromEnd(ListNode* head, int n) { ListNode* dummy new ListNode(0); dummy-next head; ListNode* fast dummy; ListNode* slow dummy; // fast 先走 n1 步 for (int i 0; i n; i) { fast fast-next; } // fast 和 slow 同时走 while (fast ! nullptr) { fast fast-next; slow slow-next; } // 删除 slow-next slow-next slow-next-next; return dummy-next; } };复杂度时间 O(n)空间 O(1)两种方法的对比对比维度暴力解法最优解法快慢指针时间复杂度O(n)O(n)空间复杂度O(n)O(1)是否新建节点✅ 需要 new n-1 个❌ 不需要是否修改原链表❌ 不修改✅ 修改代码长度较长中等

相关新闻

GitHub Profile Analyzer全栈架构揭秘:Next.js 16+Neon PostgreSQL+Upstash Redis+Cloudflare Workers

GitHub Profile Analyzer全栈架构揭秘:Next.js 16+Neon PostgreSQL+Upstash Redis+Cloudflare Workers

【免费下载链接】github-profile-analyzer Github Profile analyzer or analyser and reviewer tool. Gives review based on first 100 repos and only includes those forks in which user has contributions to avoid fake results | #1 profile analyzer on github 项目地址…

2026/10/16 9:15:30 阅读更多 →
ExplorerPatcher:免费换回Windows 10任务栏和开始菜单,不用重启

ExplorerPatcher:免费换回Windows 10任务栏和开始菜单,不用重启

ExplorerPatcher:免费换回Windows 10任务栏和开始菜单,不用重启 【免费下载链接】ExplorerPatcher This project aims to enhance the working environment on Windows 项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher Explor…

2026/10/16 9:14:29 阅读更多 →
多智能体系统如何识破破产风险:从单模型到协作式研判

多智能体系统如何识破破产风险:从单模型到协作式研判

1. 破产风险识别这摊事,为什么突然需要多智能体系统先说个我自己的观察。前几年接手某供应链平台的财务风险分析模块时,团队用的还是传统判别模型和单一规则引擎。单看某个供应商的资产负债表、现金流和逾期记录,模型跑出来的分数还挺像回事。…

2026/10/16 9:14:29 阅读更多 →

最新新闻

Python语音控制无人机:从麦克风到Tello EDU指令的完整实战

Python语音控制无人机:从麦克风到Tello EDU指令的完整实战

坦白讲,这个项目听起来挺唬人,但拆开以后就是四件事:让电脑听懂人话、把语义翻译成指令、把指令发到无人机、无人机照着执行。我用 Python 给 Tello EDU 做了一套完整的语音控制系统,不需要额外硬件,电脑自带麦克风就能…

2026/10/16 17:36:54 阅读更多 →
Kali Linux命令行完全上手指南:从基础配置到高效排错

Kali Linux命令行完全上手指南:从基础配置到高效排错

1. 从图形界面到纯终端:为什么我最终选择了Kali命令行最开始接触Kali Linux时,我其实跟大多数人一样,习惯性地打开图形界面,用鼠标点开终端模拟器,输入几个命令,然后再点回浏览器查资料。那时候觉得命令行只…

2026/10/16 17:36:54 阅读更多 →
二维码纠错机制与修复实战:从里德-所罗门码到图像预处理

二维码纠错机制与修复实战:从里德-所罗门码到图像预处理

1. 二维码纠错机制到底在纠什么错很多人第一次接触二维码纠错,是在生成工具里看到那个"容错率"下拉框——L、M、Q、H四个档位,旁边标注着7%、15%、25%、30%的恢复能力。大部分人随手选个M就完事了,直到某天遇到一张被磨损、被遮挡、…

2026/10/16 17:36:54 阅读更多 →
自托管金融服务系统搭建:从账户聚合到账单分析的完整实践

自托管金融服务系统搭建:从账户聚合到账单分析的完整实践

我最早意识到“金融服务”这件事不能全扔给手机里的各种App,是在某个月底准备还信用卡的时候。打开银行App看一眼余额,再翻两个记账软件对一下上个月的开销,发现数字怎么都对不上,好几笔自动扣款我压根没印象。那一刻我就在想&…

2026/10/16 17:36:54 阅读更多 →
Taskmgr.exe丢失或打不开?教你从Windows官方镜像提取原版文件

Taskmgr.exe丢失或打不开?教你从Windows官方镜像提取原版文件

先把结论摆在这儿:Taskmgr.exe这东西,很少真的需要你去搞什么“免费下载”。它就是你Windows系统里任务管理器的主程序,路径固定在C:\Windows\System32\Taskmgr.exe。正常情况下它一直在那儿,CtrlShiftEsc就能呼出来,反…

2026/10/16 17:36:54 阅读更多 →
类与对象实验详解:从内存模型到封装思维的面向对象入门

类与对象实验详解:从内存模型到封装思维的面向对象入门

类与对象这个题目,一看就是面向对象课程里的第二个实验。说实话,我见过太多人在这里卡壳:明明代码敲出来了,对象也创建了,程序也能跑,但你问他“类到底是什么”“对象在内存里长什么样”,他就开…

2026/10/16 17:35:52 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →