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 }
|