LeetCode[19]删除链表的倒数第N个节点

server/2025/3/31 12:09:55/

思路:

要想一次循环,一趟遍历完,那肯定是要想到双指针了,但是双指针怎么做呢?题目给出删除倒数第N个,我们如果能找到倒数第N个节点的前一个节点就行了,倒数第N个肯定是倒着数,那我们就让两个指针中间就差N个单位,当快指针走到链表最后一个的下一个null节点时,这时候慢指针就是倒数第N个节点的前一个节点了,因为快慢指针始终相差N个节点。

 代码:

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode removeNthFromEnd(ListNode head, int n) {ListNode hair = new ListNode(-1,head);ListNode pre = hair, cur = head;for(int i=0;i<n;i++){cur = cur.next;}while(cur!=null){pre = pre.next;cur = cur.next;}pre.next = pre.next.next;return hair.next;}
}


http://www.ppmy.cn/server/176853.html

相关文章

基于MNIST数据集完成MindSpore模型训练的入门

1、下载并处理数据集 数据集对于模型训练非常重要&#xff0c;好的数据集可以有效提高训练精度和效率。示例中用到的MNIST数据集是由10类28∗28的灰度图片组成&#xff0c;训练数据集包含60000张图片&#xff0c;测试数据集包含10000张图片。 MindSpore Vision套件提供了用于…

Redis 本地安装

首先安装&#xff1a; https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-from-source/ 进入root目录 tar -xzvf redis-stable.tar.gz cd redis-stable make然后 install sudo make install最后可以直接启动 redis-server但是此时启…

【虚幻引擎UE5】SpawnActor生成Character实例不执行AI Move To,未初始化AIController的原因和解决方法

虚幻引擎版本&#xff1a;5.5.4 问题描述 刚创建的Third Person项目里&#xff0c;定义一个BP_Enemy蓝图&#xff0c;拖拽到场景中产生的实例会追随玩家&#xff0c;但SpawnActor产生的实例会固定不动。BP_Enemy蓝图具体设计如下&#xff1a; BP_Enemy的Event Graph ​​ 又定义…

【redis】在 Spring中操作 Redis

文章目录 基础设置依赖StringRedisTemplate库的封装 运行StringList删库 SetHashZset 基础设置 依赖 需要选择这个依赖 StringRedisTemplate // 后续 redis 测试的各种方法&#xff0c;都通过这个 Controller 提供的 http 接口来触发 RestController public class MyC…

[贪心算法]买卖股票的最佳时机 买卖股票的最佳时机Ⅱ K次取反后最大化的数组和 按身高排序 优势洗牌(田忌赛马)

1.买卖股票的最佳时机 暴力解法就是两层循环&#xff0c;找出两个差值最大的即可。 优化&#xff1a;在找最小的时候不用每次都循环一遍&#xff0c;只要在i向后走的时候&#xff0c;每次记录一下最小的值即可 class Solution { public:int maxProfit(vector<int>& p…

C++11QT复习

文章目录 QT C 培训Day1 环境安装和入门&#xff08;2025.03.05&#xff09;Qt 自带的编译器Qt 的编译脚本&#xff1a;qmake / CMake**示例&#xff1a;Test.pro 文件** Qt 的版本控制系统C 中的头文件C 中的命名空间C 中的编译、链接、运行 Day2 C语法和工程实践&#xff08;…

CAM350-14.6学习笔记-1:导入Gerber文件

CAM350-14.6学习笔记-1:导入Gerber文件 使用自动导入器导入Gerber1&#xff1a;导航栏Home下面的Import——Automatic Import——选择文件路径——Next2&#xff1a;设置每层的类型&#xff1a;3&#xff1a;设置叠层4&#xff1a;弹出层别显示框及Gerber显示 按照Allegro输出的…

【python】OpenCV—Template Matching

文章目录 1、功能描述2、原理分析3、代码实现4、效果展示5、完整代码6、涉及到的库函数7、参考 更多有趣的代码示例&#xff0c;可参考【Programming】 1、功能描述 基于 opencv-python 实现模板匹配算法 2、原理分析 算法流程 &#xff08;1&#xff09;滑动窗口 将模板图…