天天看点

Remove Nth Node From End of List

题目:

  

主要思想:

首先,为链表添加头指针,添加一个头指针fakeHead,fakeHead.next=head,然后head=fakeHead。结果如下图所示:

Remove Nth Node From End of List

然后,创建一个走的快的指针fast,指向head.next。结果如下图所示:

Remove Nth Node From End of List

此时,我们以n=2为例,说明运行过程。让fast指针往前走n=2个节点。结果如下图所示:

Remove Nth Node From End of List

最后,让head和fast指针一起往前走,当fast指针走到最后时,head指针后面还有n个节点未走完。结果如下图所示:

Remove Nth Node From End of List

此时,head.next就是倒数第n=2个节点。

java代码如下: