题解 | #链表的奇偶重排#
链表的奇偶重排
http://www.nowcoder.com/practice/02bf49ea45cd486daa031614f9bd6fc3
func oddEvenList( head *ListNode ) *ListNode {
// write code here
if head == nil || head.Next == nil {
return head
}
odd := head
oddHead := head
even := head.Next
evenHead := head.Next
tmp := head.Next.Next
flag := false
for tmp != nil {
if !flag {
odd.Next = tmp
odd = odd.Next
} else {
even.Next = tmp
even = even.Next
}
tmp = tmp.Next
flag = !flag
}
odd.Next = evenHead
even.Next = nil
return oddHead
}