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