add: 220216 [golang]
This commit is contained in:
parent
568f4acca8
commit
1a05fe3f7d
|
|
@ -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)
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue