leetcode 反转链表
指针只能声明,不能用短声明。
var temp *ListNode
// no
temp := *ListNode()
多重赋值
p1, p2 := head, head.Next
代码实例
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func reverseList(head *ListNode) *ListNode {
if head == nil {
return head
}
var temp *ListNode
p1, p2 := head, head.Next
for {
if p2 == nil {
p1.Next = temp
break
}
p1.Next = temp
temp = p1
p1 = p2
p2 = p2.Next
}
return p1
}