Golang:
思路:不要总是递归,没啥意思,循环也可以解决的嘛。这个自己画画过程图也就结了,不是很难。
代码如下:
func swapPairs(head *ListNode) *ListNode {
if head==nil {
return nil
}
if head.Next==nil{
return head
}
res:=head.Next
temp1:=head
temp2:=head.Next
var temp3 *ListNode
for temp2!=nil {
temp1.Next=temp2.Next
temp2.Next=temp1
if temp3!=nil {
temp3.Next=temp2
}
temp3=temp1
if temp1.Next!=nil {
temp1=temp1.Next
}
temp2=temp1.Next
}
return res
}
有疑问加站长微信联系(非本文作者)