add: 220216 [golang]

This commit is contained in:
Lam Haoyin 2022-02-17 00:38:48 +08:00
parent 568f4acca8
commit 1a05fe3f7d
No known key found for this signature in database
GPG Key ID: 8C089CB1A2B7544F
1 changed files with 63 additions and 0 deletions

63
2202/220216.go Normal file
View File

@ -0,0 +1,63 @@
package main
import "fmt"
/**
* Definition for singly-linked list.
*/
type ListNode struct {
Val int
Next *ListNode
}
func swapPairs(head *ListNode) *ListNode {
ret := ListNode{0, head}
ptr := &ret
for ptr != nil {
ptrN := ptr.Next
if ptrN == nil {
break
}
ptrNN := ptrN.Next
if ptrNN == nil {
break
}
ptrNNN := ptrNN.Next
ptr, ptrNN.Next, ptr.Next, ptrN.Next = ptrN, ptrN, ptrNN, ptrNNN
}
return ret.Next
}
func main() {
head := &ListNode{
Val: 1,
Next: &ListNode{
Val: 2,
Next: &ListNode{
Val: 3,
Next: &ListNode{
Val: 4,
Next: &ListNode{
Val: 5,
Next: &ListNode{
Val: 6,
Next: nil,
},
},
},
},
},
}
head = swapPairs(head)
for ptr := head; ptr != nil; ptr = ptr.Next {
fmt.Println(ptr.Val)
}
}