Leetcode 19. 删除链表的倒数第N个节点
原题链接
解法:双指针
思路:第一个点可以能被删除,所以需要一个虚拟头节点。被删除的点位于倒数第n的位置,因为是单链表,即找到倒数n + 1最后,想要删除这个节点必须要保留它的前一个节点使其p->next = p->next->next。返回虚拟头节点的next。可以先使一个指针移动n步,然后两个指针
同时移动,第一个指针到达最后的时候,第二个指针恰好在倒数第n + 1的位置
/*** 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) {auto p1 = new ListNode(-1);p1->next = head;auto p2 = p1 , p3 = p1;//先走n步while(n--)p2 = p2->next;//双指针同时向后移动,两个指针的距离是确定的while(p2->next){p2 = p2->next;p3 = p3->next;}p3->next = p3->next->next;return p1->next;}
};
Leetcode 19. 删除链表的倒数第N个节点相关推荐
- [链表|多解法] leetcode 19 删除链表的倒数第N个节点
[链表|多解法] leetcode 19 删除链表的倒数第N个节点 1.题目 题目链接 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2-&g ...
- 【亡羊补牢】挑战数据结构与算法 第59期 LeetCode 19. 删除链表的倒数第N个节点(链表)
仰望星空的人,不应该被嘲笑 题目描述 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. ...
- leetcode 19. 删除链表的倒数第N个节点(双指针)
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 ...
- leetcode —— 19. 删除链表的倒数第N个节点
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 ...
- [leetcode]19.删除链表的倒数第N个节点
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. 进阶:你能尝试使用一趟扫描实现吗? 示例 1: 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] ...
- LeetCode 19删除链表的倒数第N个节点-中等
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. 进阶:你能尝试使用一趟扫描实现吗? 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例 2: ...
- C++ leetcode 19. 删除链表的倒数第N个节点 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。
一.思路: 遍历一遍存储节点到vector数组中,然后利用数组指向倒数第n个,将倒数n-1的节点的next指向倒数n的next 二.代码: class Solution { public:ListNo ...
- Leetcode算法Java全解答--19. 删除链表的倒数第N个节点
Leetcode算法Java全解答–19. 删除链表的倒数第N个节点 文章目录 Leetcode算法Java全解答--19. 删除链表的倒数第N个节点 题目 想法 结果 总结 代码 我的答案 大佬们的 ...
- 领扣(LeetCode)删除链表的倒数第N个节点 个人题解
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1 ...
最新文章
- python 查找文件内容字符串位置_python 查找目录下 文件名中含有某字符串的文件...
- python3.8安装pip-CentOS7.2安装python3.8与pip
- 【每周CV论文推荐】 CV领域中数据增强相关的论文推荐
- 笨办法学C 练习28:Makefile 进阶
- npm 是干什么的?
- 类型的设计--类型和成员基础(二)
- Spring : spring-jcl-5.1.2.RELEASE.jar日志包
- train_image_classifier.py:Cannot assign a device for operation CifarNet/conv1/Conv2D: node CifarNet
- 陆上物探测量基本理论之一---高程
- 28. Location replace() 方法
- python量化投资19种方法_【Python量化投资】新手资源大合集
- MATLAB偏微分方程数值解视频课程
- 【vue】ramda.js在vue中的使用
- windows添加hosts
- 图片怎么做gif?如何让图片变GIF动图?
- jenkins k8s trying and failing to pull image
- linux宝塔下如何强制ssl,宝塔面板一键安装SSL证书强制HTTPS访问设置
- 计算机网络局域网之无线局域网
- Win11分磁盘怎么分?Win11系统怎么分磁盘?
- 谭浩强《C语言》学习1