package mainimport "fmt"type ListNode struct {    val  int    Next *ListNode}// 链表反转func reverseList(head *ListNode) *ListNode {    var pre *ListNode    cur := head    for cur != nil {        temp := cur.Next        cur.Next = pre        pre = cur        cur = temp    }    return pre}// 删除倒数第N个节点链表func removeNthFromEnd(head *ListNode, n int) *ListNode {    nodes := make([]*ListNode, 3)    dummy := &ListNode{0, head}    for node := dummy; node != nil; node = node.Next {        nodes = append(nodes, node)    }    prev := nodes[len(nodes)-1-n]    prev.Next = prev.Next.Next    return dummy.Next}func main() {    list := &ListNode{        val: 1,        Next: &ListNode{            val: 2,            Next: &ListNode{                val:  3,                Next: nil,            },        },    }    //fmt.Println(reverseList(list))    result := removeNthFromEnd(list, 1)    for result != nil {        fmt.Printf("%d->", result.val)        result = result.Next    }}