力扣HOT100 - 19. 删除链表的倒数第N个节点

ops/2024/12/22 15:10:45/

解题思路:

链表题目:哑节点、栈、快慢指针(双指针)

方法一:计算链表长度

java">class Solution {public ListNode removeNthFromEnd(ListNode head, int n) {ListNode dum = new ListNode(0, head);int len = getLen(head);ListNode cur = dum;for (int i = 0; i < len - n; i++) {cur = cur.next;}cur.next = cur.next.next;return dum.next;}public int getLen(ListNode head) {int len = 0;while (head != null) {head = head.next;len++;}return len;}
}

方法二:栈

java">class Solution {public ListNode removeNthFromEnd(ListNode head, int n) {ListNode dum = new ListNode(0, head);Deque<ListNode> stack = new LinkedList<>();ListNode cur=dum;while(cur!=null){stack.push(cur);cur=cur.next;}for(int i=0;i<n;i++){stack.pop();}ListNode pre=stack.peek();pre.next=pre.next.next;return dum.next;}
}

方法三:快慢指针(双指针)

注意fast从head开始,而不是dum

java">class Solution {public ListNode removeNthFromEnd(ListNode head, int n) {ListNode dum = new ListNode(0, head);ListNode fast=head;ListNode slow=dum;for(int i=0;i<n;i++){fast=fast.next;}while(fast!=null){slow=slow.next;fast=fast.next;}slow.next=slow.next.next;return dum.next;}
}


http://www.ppmy.cn/ops/14449.html

相关文章

ORAN每个端点和每个C平面消息的限制

O-RU每个端点的处理限制 当O-RU的处理粒度是基于端点的&#xff0c;即&#xff0c;在O-RU中处理C/U平面消息的处理资源被分配给每个端点时&#xff0c;O-RU可以对每个端点施加特定限制&#xff0c;例如&#xff0c;endpoint-section-capacity、endpoint-beam-capacity、endpoi…

Github进行fork后如何与原仓库同步

前言 fork了一个仓库以后怎么同步源仓库的代码&#xff1f; 步骤 1、执行命令 git remote -v 查看你的远程仓库的路径。 以一个实际例子说明&#xff0c; 来源仓库&#xff1a; TheFirstLineOfCode/basaltgit remote -v得到&#xff1a; origin https://github.com/ghmi…

go的内存分配机制

Go 语言的内存分配机制可以分为几个主要类别&#xff0c;每个类别都有其特定的行为和优化&#xff1a; 1. 栈&#xff08;Stack&#xff09;分配 局部变量&#xff1a;在函数内部定义的变量通常分配在栈上。大小限制&#xff1a;栈的大小有限&#xff0c;适用于生命周期短、大…

【python技术】akshare爬取A股最新业绩预告保存进excel的简单示例

最近A股上市公司陆续在出年报和一季度报了&#xff0c; 心里寻思着要不用python把这些数据爬取下来分析下&#xff0c;说干就干。 数据来源网站东方财富&#xff1a;https://data.eastmoney.com/bbsj/ 我这个人比较懒&#xff0c;直接用akshare封装的方法来搞定 之前用aksha…

身份证实名接口和身份证OCR接口的组合使用

随着网络技术的快速发展以及对个人信息保护意识的提升&#xff0c;身份证实名认证已成为诸多在线业务中不可或缺的一环。身份证实名接口与身份证OCR接口的有机结合&#xff0c;为用户提供了一种快速、精准、安全的身份信息核验方式。 首先&#xff0c;用户在应用程序或网站界面…

网页与chrome插件实现交互,网页通过插件调取接口获取数据

最近有个需求需要网页调用插件&#xff0c;实现获取淘宝数据 大概思路如下&#xff1a; 插件匹配网站url注入js网页上通过postmessage发送数据到content.jscontent.js 中通过监听 postmessage获取参数&#xff0c;然后获取淘宝数据&#xff0c;然后再回传给网页网页监听conte…

Spring Boot入门(23):【实战】通过AOP拦截Spring Boot日志并将其存入数据库

在Spring Boot应用中&#xff0c;通过AOP&#xff08;面向切面编程&#xff09;拦截日志并将其存入数据库是一个常见的需求&#xff0c;可以帮助开发者更好地监控应用的运行状态和问题排查。以下是实现这一功能的基本步骤&#xff1a; 1. 引入依赖 首先&#xff0c;确保你的p…

PE结构(二)PE头字段说明

PE头字段 DOS头 PE标记 标准PE头 可选PE头 我们今天分析一下PE头字段中所有重要成员的含义 DOS头 DOS头中我们需要去分析的是如下两个成员&#xff1a; 1.WORD e_magic&#xff1a;MZ标记&#xff0c;用于判断是否为可执行文件&#xff0c;即如果显示4D 5A&#xff0c;…