lc-go/solutions/3/q328/solution.go

30 lines
481 B
Go

// Package q328 implements a solution for https://leetcode.com/problems/odd-even-linked-list/
package q328
type ListNode struct {
Val int
Next *ListNode
}
func oddEvenList(head *ListNode) *ListNode {
odd := &ListNode{}
even := &ListNode{}
pO, pE := odd, even
i := 0
for p := head; p != nil; p = p.Next {
i++
if i%2 == 0 {
pE.Next = p
pE = p
} else {
pO.Next = p
pO = p
}
}
pE.Next = nil
pO.Next = even.Next
return odd.Next
}
var _ = oddEvenList