描述 给定一个链表,删除链表的倒数第 n 个节点并返回链表的头指针 例如, 给出的链表为: 1→2→3→4→5, n=2. 删除了链表的倒数第 n 个节点之后,链表变为1→2→3→5 public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param head ListNode类 * @param n int整型 * @return ListNode类 */ public ListNode removeNthFromEnd (ListNode head, int n) { // write code here //三个指针 ListNode dummy = new ListNode(-1); ListNode pre = dummy; pre.next = head; ListNode slow = head,fast = head; for(int i = 1;i<n;i++){ fast = fast.next; } while(fast.next!=null){ //三指针同时移动 pre = pre.next; slow = slow.next; fast = fast.next; } //如果三个指针未移动 if(pre.next==head){ return head.next; } pre.next = slow.next; return dummy.next; } }