package main
import "fmt"
type ListNode struct{
val int
next *ListNode
}
func ReverseList(head *ListNode) *ListNode {
var p *ListNode = nil
var pNext *ListNode = head
for pNext != nil {
tmp := pNext.next
pNext.next = p
p = pNext
pNext = tmp
}
return p
}
func main () {
p0 := &ListNode{23,nil}
p1 := &ListNode{28,p0}
head := &ListNode{4,p1}
reverseHead := ReverseList(head)
p := reverseHead
for p!=nil {
fmt.Println(p.val)
p = p.next
}
}