怎样删除链表中的倒数第n个元素呢?
这是我昨天刚写完删除链表的中间元素之后,走在路上突发的思想,
那么既然我们都能把链表中的中间节点通过一次性的遍历删除 ,
那么我们肯定也可以通过一次遍历删除我们自己指定的倒数第n个元素。
这是必然的!
还是先说下思想这个东西:
首先,我们可以定义两个节点指针常量,如果要删除的元素为倒数第n个,
那么就循环让他们中间相差n个,然后让他们向后面一起移动。
直到较后面的那个的值为0为止,那么最后前面的那个指针常量所在的位置,
就是我们所要删除的值的地方。
我们都知道,在链表中我们如果想要删除某个节点的话,
肯定是先要知道该节点前面的那个节点,因为只有这样我们,才能不丢数据,
所以考虑到此,我们必须还得定义另外的一个节点指针常量时刻跟着,
并且在要删除的元素的前面的那个节点的位置。
好了,人都是有遗忘性的,以上就是大致的思想,如果看懂了的话,
不妨不要看下面的代码,自己先敲一遍,看看有什么地方又忘记哦。
代码请看大图: