链表4 ---- 如何一次遍历删除链表的倒数第n个元素

本文介绍了一种高效删除链表中倒数第N个元素的方法,通过使用两个指针,实现仅需一次遍历即可完成删除操作。

怎样删除链表中的倒数第n个元素呢? 

 这是我昨天刚写完删除链表的中间元素之后,走在路上突发的思想,

那么既然我们都能把链表中的中间节点通过一次性的遍历删除  ,

那么我们肯定也可以通过一次遍历删除我们自己指定的倒数第n个元素。

这是必然的!

还是先说下思想这个东西:

首先,我们可以定义两个节点指针常量,如果要删除的元素为倒数第n个,

那么就循环让他们中间相差n个,然后让他们向后面一起移动。

直到较后面的那个的值为0为止,那么最后前面的那个指针常量所在的位置,

就是我们所要删除的值的地方。

我们都知道,在链表中我们如果想要删除某个节点的话,

肯定是先要知道该节点前面的那个节点,因为只有这样我们,才能不丢数据,

所以考虑到此,我们必须还得定义另外的一个节点指针常量时刻跟着,

并且在要删除的元素的前面的那个节点的位置。

好了,人都是有遗忘性的,以上就是大致的思想,如果看懂了的话,

不妨不要看下面的代码,自己先敲一遍,看看有什么地方又忘记哦。


代码请看大图:









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值