链表4 ---- 如何一次遍历删除链表的倒数第n个元素
2014-08-04 08:40
357 查看
怎样删除链表中的倒数第n个元素呢?
这是我昨天刚写完删除链表的中间元素之后,走在路上突发的思想,
那么既然我们都能把链表中的中间节点通过一次性的遍历删除 ,
那么我们肯定也可以通过一次遍历删除我们自己指定的倒数第n个元素。
这是必然的!
还是先说下思想这个东西:
首先,我们可以定义两个节点指针常量,如果要删除的元素为倒数第n个,
那么就循环让他们中间相差n个,然后让他们向后面一起移动。
直到较后面的那个的值为0为止,那么最后前面的那个指针常量所在的位置,
就是我们所要删除的值的地方。
我们都知道,在链表中我们如果想要删除某个节点的话,
肯定是先要知道该节点前面的那个节点,因为只有这样我们,才能不丢数据,
所以考虑到此,我们必须还得定义另外的一个节点指针常量时刻跟着,
并且在要删除的元素的前面的那个节点的位置。
好了,人都是有遗忘性的,以上就是大致的思想,如果看懂了的话,
不妨不要看下面的代码,自己先敲一遍,看看有什么地方又忘记哦。
代码请看大图:
这是我昨天刚写完删除链表的中间元素之后,走在路上突发的思想,
那么既然我们都能把链表中的中间节点通过一次性的遍历删除 ,
那么我们肯定也可以通过一次遍历删除我们自己指定的倒数第n个元素。
这是必然的!
还是先说下思想这个东西:
首先,我们可以定义两个节点指针常量,如果要删除的元素为倒数第n个,
那么就循环让他们中间相差n个,然后让他们向后面一起移动。
直到较后面的那个的值为0为止,那么最后前面的那个指针常量所在的位置,
就是我们所要删除的值的地方。
我们都知道,在链表中我们如果想要删除某个节点的话,
肯定是先要知道该节点前面的那个节点,因为只有这样我们,才能不丢数据,
所以考虑到此,我们必须还得定义另外的一个节点指针常量时刻跟着,
并且在要删除的元素的前面的那个节点的位置。
好了,人都是有遗忘性的,以上就是大致的思想,如果看懂了的话,
不妨不要看下面的代码,自己先敲一遍,看看有什么地方又忘记哦。
代码请看大图:
相关文章推荐
- 链表遍历一次删除倒数第N个节点
- LeetCodet题解--19. Remove Nth Node From End of List(删除链表的倒数第n个元素)
- 删除链表中倒数第n个元素
- Remove Nth Node From End of List 链表删除倒数第N个元素@LeetCode
- 数据结构:遍历一次获得链表的倒数第N个节点
- 一次遍历找链表倒数第n个节点
- Leetcode Remove Nth Node From End of List 删除链表倒数第n个元素
- 单链表一次遍历获取倒数第n个节点
- 数据结构 - 如何删除单向链表的倒数第m个元素?
- 线性表---单链表(一次遍历找链表倒数第n个节点)
- 删除链表倒数第n个元素
- js数组如何遍历一次,删除部分元素
- C/C++面试之算法系列--一次遍历找链表倒数第n个节点
- 如何在单向链表中找到倒数第N个元素
- 一次遍历找链表倒数第n个节点
- 删除单链表的头元素;单链表,只是遍历一次,求出中间节点
- 删除链表倒数第N个元素
- 在单向链表中如何快速查到倒数第n个节点 这简直是一种神奇的思路!!!!leetcode 删除倒数第n个节点
- LeetCode[19]Remove Nth Node From End of List 删除链表倒数第n个元素
- 面试题28:单链表一次遍历删除从后往前的第n个节点