题目介绍

给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。
示例:

给定一个链表: 1->2->3->4->5, 和 n = 2.

当删除了倒数第二个节点后,链表变为 1->2->3->5.
说明:

给定的 n 保证是有效的。

题目分析

典型的快慢指针系列,不过需要注意边界条件,详细思路见源码

源代码

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:ListNode* removeNthFromEnd(ListNode* head, int n) {if(head==NULL)return NULL;ListNode* fast=head;ListNode* slow=head;for(int i=0;i<n;i++){fast=fast->next;}if(fast==NULL){head=head->next;return head;}while(fast->next!=NULL){fast=fast->next;slow=slow->next;}slow->next=slow->next->next;return head;}
};

给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。(C++实现)相关推荐

  1. 有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度。 给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转

    有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度. 给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转 ...

  2. 设计一个镜面影射算法,将一个二叉树的每个节点的左,右子结点交换位置

    #define OK 1 #define ERROR 0 #include<stdio.h> #include<stdlib.h> typedef char TElemType ...

  3. 代码随想录Day04 | LeetCode24. 两两交换链表中的节点、LeetCode19. 删除链表的倒数第N个节点、LeetCode160. 链表相交、LeetCode142. 环形链表Ⅱ

    LeetCode24. 两两交换链表中的节点 力扣题目链接 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点.你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换). 示例 ...

  4. 《剑指offer》-- 链表中倒数第k个节点、反转链表、合并两个排序的链表

    一.链表中倒数时第k个节点: 1.题目: 输入一个链表,输出该链表中倒数第k个结点. 2.解题思路:单链表具有单向移动的特性. (1)第一种:先遍历链表,算出链表节点数count,第二次直接遍历到第c ...

  5. 【小f的刷题笔记】(JS)链表 - 单链表的倒数第 k 个节点 LeetCode19 单链表的中点 LeetCode876

    [链表] 一.单链表的倒数第 k 个节点: ✔ 要求:只遍历一遍,链表有多长未知 LeetCode19 链接: 19.删除链表的倒数第N个结点 题目: 思路: 因为没有给头结点,我们就先定义一个哑结点 ...

  6. 单链表-删除并释放以L为表头指针的单链表的所有结点(双指针法)

    单链表的存储结构: typedef struct LinkList{int data;LinkList * next;} 分析: 要删除所有结点,怎么删除? 往往都要定义前后指针 pre ,p 毕竟一 ...

  7. openquery链表删除时报错 “数据提供程序或其他服务返回 E_FAIL 状态”

    DELETE OPENQUERY (VERYEAST_COMPANY_MYSQL_CONN, 'SELECT * FROM company ') WHERE c_userid in(select c_ ...

  8. 设A和B是两个按元素值递增有序的单链表,写一算法将A和B归并为按按元素值递减有序的单链表C,试分析算法的时间复杂度。(利用上篇带有头结点的线性链表操作)...

    #include <stdio.h> #include <malloc.h> typedef int DataType; #include "LinList.h&qu ...

  9. 常考数据结构与算法:删除链表的倒数第n个节点

    题目描述 给定一个链表,删除链表的倒数第n个节点并返回链表的头指针 例如, 给出的链表为:1->2->3->4->5, n= 2.删除了链表的倒数第n个节点之后,链表变为1-& ...

  10. 牛客题霸 [删除链表的倒数第n个节点] C++题解/答案

    牛客题霸 [删除链表的倒数第n个节点] C++题解/答案 题目描述 给定一个链表,删除链表的倒数第n个节点并返回链表的头指针 例如, 给出的链表为:1->2->3->4->5, ...

最新文章

  1. P1066 2^k进制数 NOIP 2006 提高组 第四题
  2. k8s修改kube-apiserver的service-node-port-range端口范围
  3. java lambda::_书评:精通Lambda:多核世界中的Java编程
  4. 形位公差符号大全_玩转CAD快捷键(大全),一篇文章就够了
  5. “AI女神”李飞飞:如果我获诺贝尔奖,我一定以中国人身份去领奖
  6. 多线程:生产者消费者问题
  7. Java poi 列移动_如何在java xssf中移動列poi
  8. MySQL数据库(二) 一一 MySQL管理
  9. SpringSecurity系列(四) Spring Security 实现权限树形菜单
  10. ARM体系结构与编程(一)
  11. HTML实现百度换肤
  12. API平台都有的Appid、Appkey、Appsecret分别是什么意思?
  13. JavaScript工具函数(一)
  14. 记录:图片转字符画及文字转字符画
  15. 微信连wifi正式全量对外开放申请 升级智能服务
  16. 昭和女神异闻录——中山美穗
  17. 2020“天猫双11”淘宝直播商家数据报告:新渠道、新品牌、新趋势
  18. 怎样实现服务器远程操作系统,如何远程控制家里的电脑或服务器?
  19. Spark(25) -- Spark SQL读取数据(mysql、json、parquet、csv、普通文本)
  20. Android Studio挂载第三方模拟器

热门文章

  1. SpringMvc上传文件遇到重复读取InputStream的问题
  2. 转载:eclipse 搭建SSH项目(第二篇,有具体的项目例子)
  3. 如何切换DNN编辑器
  4. Tomcat—如何在Windows 7中修改Tomcat的端口号
  5. C#-WinForm-发送邮件
  6. 如何把你的图标转换成WEB字体
  7. Python 目录及文件操作(os.模块)
  8. c语言程序改错:求两个整数的最小公倍数,【C语言】求两个整数的最大公约数、最小公倍数...
  9. presentation编程软件_编程难学?web相关知识,跟着淼哥学php全栈之路6
  10. linux操作命令 mongo_MongoDB常用操作命令整理