第19题:
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。(来自LeetCode)
1、对于一个固定长度length的链表,我们需要将倒数第n个节点删掉,就是需要将第length-n+1个节点删掉;
所以可以先求出链表长度,再删掉第意义上的倒数第n个节点。
2、也可以使用两个指针分别指向head节点,然后将一个指针向后移动n+1个位置;
此时两个指针的距离就是最后一个节点指向的null和倒数第n个节点的距离;
然后此时将两个节点依次向后移动,直到那个指针指向null停止;
此时另一个指针便指向了第n个节点的前面那个节点,然后将第n个节点删除;
返回链表。