package main
import "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
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。