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

【LeetCode】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

进阶:你能尝试使用一趟扫描实现吗?

解题思路:

先计算出长度,再计算出第几个是需要被删除的结点,在这个节点的前一个结点停止,并删除下一个节点,然后返回。

代码解释:

dummy表示head前的一个结点,防止找不到头结点;

代码:

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/
struct ListNode* removeNthFromEnd(struct ListNode* head, int n) {struct ListNode* dummy=(struct ListNode*)malloc(sizeof(struct ListNode));dummy->next=head;int len=0;while(head!=NULL){head=head->next;len++;}head=dummy->next;if(len==n) return dummy->next->next;for(int i=0;i<len-n-1;i++){head=head->next;}if(head->next!=NULL) head->next=head->next->next;else return NULL;return dummy->next;
}

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

相关文章:

  • P1803 凌乱的yyy / 线段覆盖
  • 802.11 和 802.1X
  • 计算机毕设选题:基于Python+Django的健康饮食管理系统设计【源码+文档+调试】
  • 网络原理——TCP/UDP/IP
  • 【面试场景题】如何快速判断几十亿个数中是否存在某个数
  • 【面试场景题】100M网络带宽能不能支撑QPS3000
  • (3dnr)多帧视频图像去噪 (一)
  • 第六章 Vue3 + Three.js 实现高质量全景图查看器:从基础到优化
  • 站在巨人的肩膀上:gRPC通过HTTP/2构建云原生时代的通信标准
  • Goframe 框架下HTTP反向代理并支持MCP所需的SSE协议的实现
  • 【深度学习基础】深度学习中的早停法:从理论到实践的全面解析
  • 【php反序列化字符串逃逸】
  • word运行时错误‘53’,文件未找到:MathPage.WLL,更改加载项路径完美解决
  • Android原生HttpURLConnection上传图片方案
  • mysql导出csv中字段里有换行符的处理办法及hive导出处理办法
  • 印度数据源 Java 对接文档
  • 【DeepSeek】蓝耘元生代 | 蓝耘MaaS平台与DeepSeek-V3.1重构智能应用开发
  • 打造智能写作工作流:n8n + 蓝耘MaaS平台完整实战指南
  • 20.30 QLoRA微调终极指南:Hugging Face参数优化实战,24GB显存直降50%性能不减
  • linux centos 忘记开机密码,重置root密码的两种方式
  • 【C++】类型转换详解:显式与隐式转换的艺术
  • MySQL 慢查询 debug:索引没生效的三重陷阱
  • 【STM32】状态机(State Machine)
  • 力扣每日一刷Day 19
  • RK3399内核驱动实战:获取设备号控制LED的四种方法(由浅入深、代码注释详尽)
  • 【CMake】Ctest,Cpack
  • 电子电气架构 --- 智能电动车EEA电子电气架构(上)
  • Linux | 走进网络世界:MAC、IP 与通信的那些事
  • 【macOS】垃圾箱中文件无法清理的--特殊方法
  • 深度学习跨领域应用探索:从技术落地到行业变革