原题链接

解法:双指针

思路:第一个点可以能被删除,所以需要一个虚拟头节点。被删除的点位于倒数第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个节点相关推荐

  1. [链表|多解法] leetcode 19 删除链表的倒数第N个节点

    [链表|多解法] leetcode 19 删除链表的倒数第N个节点 1.题目 题目链接 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2-&g ...

  2. 【亡羊补牢】挑战数据结构与算法 第59期 LeetCode 19. 删除链表的倒数第N个节点(链表)

    仰望星空的人,不应该被嘲笑 题目描述 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. ...

  3. leetcode 19. 删除链表的倒数第N个节点(双指针)

    给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 ...

  4. leetcode —— 19. 删除链表的倒数第N个节点

    给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 ...

  5. [leetcode]19.删除链表的倒数第N个节点

    给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. 进阶:你能尝试使用一趟扫描实现吗? 示例 1: 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] ...

  6. LeetCode 19删除链表的倒数第N个节点-中等

    给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. 进阶:你能尝试使用一趟扫描实现吗? 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例 2: ...

  7. C++ leetcode 19. 删除链表的倒数第N个节点 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。

    一.思路: 遍历一遍存储节点到vector数组中,然后利用数组指向倒数第n个,将倒数n-1的节点的next指向倒数n的next 二.代码: class Solution { public:ListNo ...

  8. Leetcode算法Java全解答--19. 删除链表的倒数第N个节点

    Leetcode算法Java全解答–19. 删除链表的倒数第N个节点 文章目录 Leetcode算法Java全解答--19. 删除链表的倒数第N个节点 题目 想法 结果 总结 代码 我的答案 大佬们的 ...

  9. 领扣(LeetCode)删除链表的倒数第N个节点 个人题解

    给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1 ...

最新文章

  1. python 查找文件内容字符串位置_python 查找目录下 文件名中含有某字符串的文件...
  2. python3.8安装pip-CentOS7.2安装python3.8与pip
  3. 【每周CV论文推荐】 CV领域中数据增强相关的论文推荐
  4. 笨办法学C 练习28:Makefile 进阶
  5. npm 是干什么的?
  6. 类型的设计--类型和成员基础(二)
  7. Spring : spring-jcl-5.1.2.RELEASE.jar日志包
  8. train_image_classifier.py:Cannot assign a device for operation CifarNet/conv1/Conv2D: node CifarNet
  9. 陆上物探测量基本理论之一---高程
  10. 28. Location replace() 方法
  11. python量化投资19种方法_【Python量化投资】新手资源大合集
  12. MATLAB偏微分方程数值解视频课程
  13. 【vue】ramda.js在vue中的使用
  14. windows添加hosts
  15. 图片怎么做gif?如何让图片变GIF动图?
  16. jenkins k8s trying and failing to pull image
  17. linux宝塔下如何强制ssl,宝塔面板一键安装SSL证书强制HTTPS访问设置
  18. 计算机网络局域网之无线局域网
  19. Win11分磁盘怎么分?Win11系统怎么分磁盘?
  20. 谭浩强《C语言》学习1

热门文章

  1. java私有属性和私有方法_Java私有,受保护,公共和默认
  2. 骆驼祥子大事件时间轴_骆驼中的事件处理
  3. 高级java开发_适用于高级Java开发人员的十大书籍
  4. Java的Gradle依赖关系,使用编译还是实现?
  5. Java中的值类型:为什么它们不可变?
  6. javafx动画_JavaFX:创建Sprite动画
  7. 实用常识_实用垃圾收集,第1部分–简介
  8. Hibernate教程– ULTIMATE指南(PDF下载)
  9. Spring配置文件简介
  10. JavaFX中的塔防(6)