增加一个头结点 方便统一操作。
import java.util.*; /* * public class ListNode { * int val; * ListNode next = null; * } */ public class Solution { /** * * @param head ListNode类 * @param n int整型 * @return ListNode类 */ public ListNode removeNthFromEnd (ListNode head, int n) { ListNode xxhead = new ListNode(0); xxhead.next = head; ListNode cur = head; int len = 0; int count = 1; while(cur != null){ cur = cur.next; len ++; } ListNode prev = xxhead; cur = head; while(len-n+1 != count){ ListNode temp = cur; cur = cur.next; prev = temp; count ++; } prev.next = cur.next; return xxhead.next; } }