package LinkedList
func reverseList(head *ListNode) *ListNode {
if head == nil {
return head
}
virtualHead := new(ListNode)
virtualHead.Next = head
prev, cur, next := virtualHead, head, head.Next
for cur != nil {
next = cur.Next
cur.Next = prev
prev = cur
cur = next
}
head.Next = nil
return prev
}