func oddEvenList(_ head: ListNode?) -> ListNode? {
let dummyNode = ListNode(0)
dummyNode.next = head
var odd = head
var even = head?.next
var evenHead = even
while even != nil && even?.next != nil {
odd?.next = even?.next
even?.next = even?.next?.next
odd = odd?.next
even = even?.next
}
odd?.next = evenHead
return dummyNode.next
}
More than 5 years have passed since last update.
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme