题解 | #删除链表的倒数第n个节点#
删除链表的倒数第n个节点
https://www.nowcoder.com/practice/f95dcdafbde44b22a6d741baf71653f6
import java.util.*; public class Solution { public ListNode removeNthFromEnd (ListNode head, int n) { //添加表头 fast-template ListNode res = new ListNode(-1); res.next = head; //当前节点 ListNode cur = head; //前序节点 ListNode pre = res; ListNode fast = head; //快指针先行n步 while(n != 0){ fast = fast.next; n--; } //快慢指针同步,快指针到达末尾,慢指针就到了倒数第n个位置 while(fast != null){ fast = fast.next; pre = cur; cur = cur.next; } //删除该位置的节点 pre.next = cur.next; //返回去掉头 return res.next; } }