Day 19

第19题:

给定一个链表,删除链表的倒数第 个节点,并且返回链表的头结点。(来自LeetCode)

1、对于一个固定长度length的链表,我们需要将倒数第n个节点删掉,就是需要将第length-n+1个节点删掉;

  所以可以先求出链表长度,再删掉第意义上的倒数第n个节点。

  

2、也可以使用两个指针分别指向head节点,然后将一个指针向后移动n+1个位置;

  此时两个指针的距离就是最后一个节点指向的null和倒数第n个节点的距离;

  然后此时将两个节点依次向后移动,直到那个指针指向null停止;

  此时另一个指针便指向了第n个节点的前面那个节点,然后将第n个节点删除;

  返回链表。

  

原文地址:https://www.cnblogs.com/liang-yi-/p/13286273.html