给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。(C++实现)
题目介绍
给定一个链表,删除链表的倒数第 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++实现)相关推荐
- 有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度。 给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转
有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度. 给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转 ...
- 设计一个镜面影射算法,将一个二叉树的每个节点的左,右子结点交换位置
#define OK 1 #define ERROR 0 #include<stdio.h> #include<stdlib.h> typedef char TElemType ...
- 代码随想录Day04 | LeetCode24. 两两交换链表中的节点、LeetCode19. 删除链表的倒数第N个节点、LeetCode160. 链表相交、LeetCode142. 环形链表Ⅱ
LeetCode24. 两两交换链表中的节点 力扣题目链接 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点.你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换). 示例 ...
- 《剑指offer》-- 链表中倒数第k个节点、反转链表、合并两个排序的链表
一.链表中倒数时第k个节点: 1.题目: 输入一个链表,输出该链表中倒数第k个结点. 2.解题思路:单链表具有单向移动的特性. (1)第一种:先遍历链表,算出链表节点数count,第二次直接遍历到第c ...
- 【小f的刷题笔记】(JS)链表 - 单链表的倒数第 k 个节点 LeetCode19 单链表的中点 LeetCode876
[链表] 一.单链表的倒数第 k 个节点: ✔ 要求:只遍历一遍,链表有多长未知 LeetCode19 链接: 19.删除链表的倒数第N个结点 题目: 思路: 因为没有给头结点,我们就先定义一个哑结点 ...
- 单链表-删除并释放以L为表头指针的单链表的所有结点(双指针法)
单链表的存储结构: typedef struct LinkList{int data;LinkList * next;} 分析: 要删除所有结点,怎么删除? 往往都要定义前后指针 pre ,p 毕竟一 ...
- openquery链表删除时报错 “数据提供程序或其他服务返回 E_FAIL 状态”
DELETE OPENQUERY (VERYEAST_COMPANY_MYSQL_CONN, 'SELECT * FROM company ') WHERE c_userid in(select c_ ...
- 设A和B是两个按元素值递增有序的单链表,写一算法将A和B归并为按按元素值递减有序的单链表C,试分析算法的时间复杂度。(利用上篇带有头结点的线性链表操作)...
#include <stdio.h> #include <malloc.h> typedef int DataType; #include "LinList.h&qu ...
- 常考数据结构与算法:删除链表的倒数第n个节点
题目描述 给定一个链表,删除链表的倒数第n个节点并返回链表的头指针 例如, 给出的链表为:1->2->3->4->5, n= 2.删除了链表的倒数第n个节点之后,链表变为1-& ...
- 牛客题霸 [删除链表的倒数第n个节点] C++题解/答案
牛客题霸 [删除链表的倒数第n个节点] C++题解/答案 题目描述 给定一个链表,删除链表的倒数第n个节点并返回链表的头指针 例如, 给出的链表为:1->2->3->4->5, ...
最新文章
- P1066 2^k进制数 NOIP 2006 提高组 第四题
- k8s修改kube-apiserver的service-node-port-range端口范围
- java lambda::_书评:精通Lambda:多核世界中的Java编程
- 形位公差符号大全_玩转CAD快捷键(大全),一篇文章就够了
- “AI女神”李飞飞:如果我获诺贝尔奖,我一定以中国人身份去领奖
- 多线程:生产者消费者问题
- Java poi 列移动_如何在java xssf中移動列poi
- MySQL数据库(二) 一一 MySQL管理
- SpringSecurity系列(四) Spring Security 实现权限树形菜单
- ARM体系结构与编程(一)
- HTML实现百度换肤
- API平台都有的Appid、Appkey、Appsecret分别是什么意思?
- JavaScript工具函数(一)
- 记录:图片转字符画及文字转字符画
- 微信连wifi正式全量对外开放申请 升级智能服务
- 昭和女神异闻录——中山美穗
- 2020“天猫双11”淘宝直播商家数据报告:新渠道、新品牌、新趋势
- 怎样实现服务器远程操作系统,如何远程控制家里的电脑或服务器?
- Spark(25) -- Spark SQL读取数据(mysql、json、parquet、csv、普通文本)
- Android Studio挂载第三方模拟器
热门文章
- SpringMvc上传文件遇到重复读取InputStream的问题
- 转载:eclipse 搭建SSH项目(第二篇,有具体的项目例子)
- 如何切换DNN编辑器
- Tomcat—如何在Windows 7中修改Tomcat的端口号
- C#-WinForm-发送邮件
- 如何把你的图标转换成WEB字体
- Python 目录及文件操作(os.模块)
- c语言程序改错:求两个整数的最小公倍数,【C语言】求两个整数的最大公约数、最小公倍数...
- presentation编程软件_编程难学?web相关知识,跟着淼哥学php全栈之路6
- linux操作命令 mongo_MongoDB常用操作命令整理