#include<iostream>
#include<vector>
#include<string>
using namespace std;
typedef struct ListNode {
int val;
ListNode *next;
}ListNode;
class Solution {
public:
ListNode* removeNthFromEnd(ListNode* head, int n) {
ListNode *cur = head;
ListNode *index=head;
ListNode *temp;
for (int i = 0; i < n; i++)
{
cur = cur->next;
}
if (cur == NULL)
{
head =head->next;
return head;
}
while (cur->next != NULL)
{
index = index->next;
cur = cur->next;
}
index->next= index->next->next;
return head;
}
};
void CreatList(ListNode* & head,int *a)
{
for (int i = 0; i < 5; i++)
{
ListNode *temp=new ListNode;
temp->val = a[i];
head->next=temp;
head = head->next;
}
head->next = NULL;
}
int main()
{
Solution s;
int n;
cin >> n;
int arr[5] = {1,2,3,4,5};
ListNode *head=new ListNode;
ListNode *OutPut = head;
CreatList(head,arr);
OutPut=s.removeNthFromEnd(OutPut->next, n);
while (OutPut != NULL)
{
cout << OutPut->val << endl;
OutPut = OutPut->next;
}
system("pause");
}
相关推荐
Visio 2013 Professional密钥安装激活全攻略:版本匹配与故障排查
产品密钥是软件授权体系中的核心凭证,用于验证用户对软件的使用权限。在微软Office产品线中,Visio 2013 Professional采用25位字符的密钥机制,通过联网或电话方式完成激活。正确使用密钥不仅能确保软件功能完整,还能避免因授权问题导致的工作中断。对于企业IT运维和个人用户而言,掌握密钥类型辨析、安装包匹配规则以及激活失败排查方法,是保障老版本软件稳定运行的关键。本文围绕Visio 2013 Professional,详细讲解密钥输入、激活流程及常见错误代码处理,帮助读者高效完成部署与维护。
链表之删除链表的倒数第N个节点(一次遍历)
问题 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 你能尝试使用一趟扫描实现吗? 示例 1: 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例 2: 输入:head = [1], n = 1 输出:[] 示例 3: 输入:head = [1,2], n = 1 输出:[1] 解决 双指针的经典应用,如果要删除倒数第n个节点,让fast移动n步,然后让fast和slow同时移动,直到fast指向链表末尾。删掉slow所指向的节点就可以了。 例如
Linux DRM驱动实战:手把手教你用drmModeSetCrtc显示纯色画面(附完整代码)
本文提供了一份完整的Linux DRM驱动实战指南,手把手教你使用drmModeSetCrtc在屏幕上显示纯色画面。文章详细解析了从打开设备、获取资源、创建帧缓冲区到最终提交画面的完整调用流程,并附带了可直接编译运行的完整代码示例,帮助开发者快速上手Linux图形底层开发。
数据结构之删除链表的倒数第N个节点
(leetcode刷题) 删除链表的倒数第N个节点 题目: 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 方法一:两次遍历 第一遍算出长度,第二遍找到节点并删除。时间复杂...
【Elasticsearch专栏 16】深入探索:Elasticsearch的Master选举机制及其影响因素分析
Elasticsearch的Master选举机制是其分布式架构的基石,确保集群高可用性和数据一致性。通过多数派协议,节点间交换信息并投票选举Master,以维护集群状态和处理请求。该机制自动处理故障转移,保障服务连续性。
【近源攻击】badusb制作
BadUSB是利用伪造HID设备执行攻击载荷的一种攻击方式。HID(Human InterfaceDevice)设备通常指的就是键盘鼠标等与人交互的设备,用户插入BadUSB,就会自动执行预置在固件中的恶意代码。BadUsb插入后,会模拟键盘鼠标对电脑进行操作,通过这些操作打开电脑的命令终端,并执行一条命令,这条命令将从指定网址下载其他代码并于后台静默运行。这些代码功能包括:窃取信息、反弹shell、发送邮件等,从而实现控制目标机或者窃取信息的目的。
删除链表的倒数第N个节点
文章目录LeetCode刷题之删除链表的倒数第N个节点题目描述示例解题思路代码leetcode记录 LeetCode刷题之删除链表的倒数第N个节点 题目描述 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->...
R3LIVE 1.0 适配 Velodyne 16线雷达:3步配置解决150米漂移问题
本文详细解析了R3LIVE 1.0适配Velodyne 16线雷达时出现的150米漂移问题,并提供三步配置方案。通过调整雷达类型设置、运动补偿与时间对齐、视觉-激光联合优化等关键参数,有效解决了系统漂移问题,提升定位精度。适用于机器人定位与建图领域的开发者。
单链表的应用--删除倒数第n个结点
删除倒数第n个结点,利用前文写好的链表的框架,在链表类中补充DeleteNthFromEnd方法。 删除倒数第n个结点一、问题分析二、代码分析1.链表类2.链表方法三、测试代码1.主函数2.输出结果四、源代码获取(免积分) 一、问题分析 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例 2: 输入:head = [1], n = 1 输出:[] 示例 3: 输入:head =
手把手教你搞定Pattern Recognition Letters的LaTeX投稿(附elsarticle.cls生成避坑指南)
本文详细指导如何在Pattern Recognition Letters(PRL)期刊上使用LaTeX进行投稿,特别针对elsarticle.cls文件的生成与常见问题提供避坑指南。从模板准备、文件上传到投稿后的验证,系统梳理全流程技术要点,帮助研究者高效完成学术论文投稿。
Buck电源设计常见的一些问题(一)半桥栅极驱动芯片共性失效问题
半桥驱动芯片主要用在器件可应用于电信,数据通信,便携式存储或更低电压系统中的电源转换器,半桥、全桥、推挽、同步降压,正激变换器和同步整流器等方面。当然难免会遇到不少问题。基本上我们在产品开发的过程中都遇到过栅极驱动芯片坏掉的情况,所以找了一些资料,学习学习。也查找查找原因。
[链表]删除链表的倒数第N个节点
数据结构与算法、链表、力扣、删除链表的倒数第N个节点、暴力解法、双指针解法!
Vue3 - 详细实现安装西瓜视频 xgplayer 插件详细配置及使用教程,利用西瓜视频播放器播放 mp4、flv、hls 格式视频文件及视频推流(直播或监控摄像头画面),支持移动端H5及PC网站!
vue3,nuxt3,西瓜视频,xgplayer,插件组件,xgplayer-hls,xgplayer-flv,xgplayer-mp4,播放视频点播和直播视频流,监控实时播放推流,倍速播放,在线flv在线推流地址,HLS播放,vue3西瓜播放器,vue如何使用西瓜视频插件做直播推流回流,视频点播,flv在线视频流播放,截图功能,自定义播放器样式,截屏,监控视频,vue3使用西瓜播放器播放flv、hls、mp4视频,截屏按钮,直播流,报错,黑屏,加载失败,苹果ios不兼容,重连,怎么改样式,很卡,详细教程,
力扣19,删除链表中的倒数第n个节点 一次遍历
1、双指针明确来说也不算一次遍历因为需要先移动n次快指针 这里要注意删除头节点的情况。 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * Lis..
TMS_WebGMaps_1.9.8.0_Full_Source
TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder
老版QQ原生表情gif动态
这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。
一次遍历,从一个单向链表中删除倒数第n个节点
今天下午腾讯面试考了一道算法题:要求从一个单向链表中删除倒数第n个节点,要求最多只能遍历链表一遍。 面试时我只是给出了思路,晚上画图编码归纳整理记录一下。 思路在上图已经表达的很明确了,其实解题的关键点是利用好n,我们把n当作一把尺子从链表头移动到链表尾后,尺子的左端指的就是我们要删除的倒数第n个节点。 下面贴一下代码实现: /** * @param head 链表头节点 * @param n 要删除的倒数第n个节点,数字n * @return 删除倒数第
ssm框架搭建
这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载
力扣19. 删除链表的倒数第N个节点(两次遍历、加间隔一次遍历)
力扣19. 删除链表的倒数第N个节点(两次遍历、加间隔一次遍历) https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/ 给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,...
锂电池充电器电路设计 里面有电路
锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。
Leetcode(19)—— 删除链表的倒数第N个节点(一次遍历(双指针)和 两次遍历)
Leetcode 19 —— 删除链表的倒数第N个节点
问题描述: 给你一个链表,删除链表的倒数第n个节点,并且返回链表的头节点。请使用一次遍历解决该问题
问题描述: 给你一个链表,删除链表的倒数第n个节点,并且返回链表的头节点。请使用一次遍历解决该问题。解析:首先需要找到链表的倒数第n个节点,然后删除该节点,最后返回链表的头节点。链表 head = [1,2,3,4,5], n = 2。输出结果为:1 -> 2 -> 3 -> 5。输出描述: 1, 2, 3, 5。输入样例: 1,2 n=1。
8道链表常考题-一次遍历删除链表倒数第N个节点
可以使用两个指针而不是一个指针。第一个指针从列表的开头向前移动 n+1 步,而第二个指针将从列表的开头出发。现在,这两个指针被 nn 个结点分开。我们通过同时移动两个指针向前来保持这个恒定的间隔,直到第一个指针到达最后一个结点。此时第二个指针将指向从最后一个结点数起的第 n 个结点。我们重新链接第二个指针所引用的结点的 next 指针指向该结点的下下个结点。 public ListNode re...
leetcode hot150题解第19题,删除链表倒数第n个节点
题目中要求最好将链表只遍历一次才可以,但是根据分析可知,链表题无非三种方法:哑节点、栈、快慢指针(双指针)。第二种栈方法即将所有链表压进栈,再通过出栈n次找到要删除的节点,仍是遍历两次;下一步就是关键的找节点了,其实这里隐藏着一个坑,如果简单的变为向后移动length - n - 1个节点,然后再curr.next = curr.next.next;时,当只有一个节点的链表就会出错。所以正确的是将哑节点设置在head的前一个,将循环变成for (i = 1;给你一个链表,删除链表的倒数第。
Java 删除链表的倒数第N个节点
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明:给定的 n 保证是有效的。 一次遍历法 由于我们要删除倒数第n个节点,所以我们设置两个快慢指针 tail 和 head,同时对链表进行遍历,并且 tail 比 head 超前 n 个节点。当 tail 遍历到链表的末尾时,head 就恰好处于倒数第 n 个节点。
LeetCode[19]删除链表的倒数第N个节点
要想一次循环,一趟遍历完,那肯定是要想到双指针了,但是双指针怎么做呢?题目给出删除倒数第N个,我们如果能找到倒数第N个节点的前一个节点就行了,倒数第N个肯定是倒着数,那我们就让两个指针中间就差N个单位,当快指针走到链表最后一个的下一个null节点时,这时候慢指针就是倒数第N个节点的前一个节点了,因为快慢指针始终相差N个节点。
【C语言】Leetcode 19 删除链表的倒数第N个节点(只允许遍历一次)
解题思路: 参考了leetcode里面的解法,采用双指针固定长度浮窗方案(不知道命名是否准确),即设立两个指针,起始指针p,以及结束指针q,p先保持不动,q移动到n+1的位置,然后p,q同时往后移动,直至q达到NULL点。 struct ListNode* removeNthFromEnd(struct ListNode* head, int n){ struct ListNode *re...
leetcode 19.删除链表的倒数第N个节点(js)
题目描述: 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的 n 保证是有效的。 题解: /** * Definition for singly-linked list. * func...
【LeetCode】19. 删除链表的倒数第N个节点 【链表】
19. 删除链表的倒数第N个节点 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的 n 保证是有效的。 进阶: 你能尝试使用一趟扫描实现吗? 两次遍历法 先遍历出链表的长度 然后遍历出倒数第几个链表再删除 /** * Definition for singly-linked list. * pu
364



被折叠的 条评论
为什么被折叠?



