leetcode 19 Remove n-th Node from End of List

Given a linked list, remove the nth node from the end of list and return its head.
For example,
1 | Given linked list: 1->2->3->4->5, and n = 2. |
Note:
Given n will always be valid.
Try to do this in one pass.
1 | /** |
- Using two points, both starts with pointing to the first node.
- Moving the
fast
pointer n times, so thatfast
is n nodes ahead theslow
pointer - Moving the two pointers in the same time untile
fast
reaches the end of the linked list - Notice that when there is only one node in the list and removing the only element. This is an special case which need to be examed.