1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| package main
import (
"fmt"
)
func main() {
head := &ListNode{
1, &ListNode{
2, &ListNode{
3, &ListNode{
4, &ListNode{
5, nil}},
},
},
}
for list := reverseList(head); list != nil; list = list.Next {
fmt.Println(list.Val)
}
}
type ListNode struct {
Val int
Next *ListNode
}
func reverseList(head *ListNode) *ListNode {
var cur, prev *ListNode = head, nil
for cur != nil {
cur.Next, prev, cur = prev, cur, cur.Next
}
return prev
}
|