用数组记录链表的所有指针域。
直接让倒数第N-1个的指针域等于倒数第N+1个。
第一个和最后一个特殊处理。
func removeNthFromEnd(head *ListNode, n int) *ListNode {
l := make([]*ListNode,0)
l = append(l, head)
for ;head.Next!=nil;{
l = append(l,head.Next)
head = head.Next
}
if len(l)==1{
return nil
}
if n==1{
l[len(l)-2].Next = nil
}else if n==len(l){
return l[1]
}else{
(*l[len(l)-n-1]).Next = l[len(l)-n+1]
}
return l[0]
}