https://leetcode-cn.com/problems/swap-nodes-in-pairs/
开始主要是对 Go 语言的运用不是很熟练,导致出了很多关于 nil 的 Bug(没有任何错误提示的 Runtime Error),另外就是需要注意奇数序列和零序列的处理。
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
|
func swapPairs(head *ListNode) *ListNode { if head==nil || head.Next==nil{ return head } ret:=head.Next now:=head var(t1,t2 *ListNode) for now.Next!=nil{ t1=now t2=now.Next now.Next=now.Next.Next t2.Next=t1 if now.Next!=nil && now.Next.Next!=nil{ now=now.Next t1.Next=now.Next }else{ break } } return ret }
|