给你一个链表,删除链表的倒数第
n**个结点,并且返回链表的头结点。
输入: head = [1,2,3,4,5], n = 2
输出: [1,2,3,5]
第一种解法
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func removeNthFromEnd(head *ListNode, n int) *ListNode {
var l int
for t := head; t != nil; t = t.Next {
l++
}
res := &ListNode{0, head}
p := res
for i := 0; i < l-n; i++ {
p = p.Next
}
p.Next = p.Next.Next
return res.Next
}