题解 | #链表的奇偶重排#
链表的奇偶重排
http://www.nowcoder.com/practice/02bf49ea45cd486daa031614f9bd6fc3
线性扫描链表
- 当前为奇数时,加入奇数链表odd
- 当前为偶数时,加入偶数链表
- 将偶数的最后一个节点断开,避免构成环导致无限循环
class Solution: def oddEvenList(self , head ): # write code here if head is None or head.next is None: return head odd = ListNode(0) even = ListNode(0) o = odd e = even p = head flag = 1 while p: if flag == 1: o.next = p o = o.next else: e.next = p e = e.next p = p.next flag *= -1 o.next = even.next e.next = None return odd.next