删除链表的倒数第 N 个结点
// 删除链表的倒数第N个结点
package linkedlist
//length - n + 1
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
// 灵茶山艾府
func RemoveNthFromEnd(head *ListNode, n int) *ListNode {
dummy := &ListNode{Next: head}
left, right := dummy, dummy
for ; n > 0; n-- {
right = right.Next
}
for right.Next != nil {
left = left.Next
right = right.Next
}
left.Next = left.Next.Next
return dummy.Next
}