1def reorderList(head):
2 if not head:
3 return
4 slow, fast = head, head
5 while fast and fast.next:
6 slow = slow.next
7 fast = fast.next.next
8 prev, curr = None, slow.next
9 slow.next = None
10 while curr:
11 nxt = curr.next
12 curr.next = prev
13 prev = curr
14 curr = nxt
15 l1, l2 = head, prev
16 while l1 and l2:
17 nxt1, nxt2 = l1.next, l2.next
18 l1.next = l2
19 l2.next = nxt1
20 l1, l2 = nxt1, nxt2