面试题24. 反转链表
func reverseList(head *ListNode) *ListNode {
var pre *ListNode
curr := head
for curr!= nil{
pre,curr,curr.Next = curr,curr.Next,pre
}
return pre
}
栈思维
每次在头部插入指针,不停迭代头部指针
func reverseList(head *ListNode) *ListNode {
dummyHead :=&ListNode{
Val: -1,
}
for head!= nil{
pre := dummyHead.Next
next :=head.Next
dummyHead.Next = head
head.Next = pre
head = next
}
return dummyHead.Next
}