143. Reorder List
Algorithm:
- split the linklist
- reverse the second half
- merge one by one
Given a singly linked list L: L0→L1→…→L**n-1→Ln,
reorder it to: L0→L**n→L1→L**n-1→L2→L**n-2→…
You may not modify the values in the list’s nodes, only nodes itself may be changed.
Example 1:
1 | Given 1->2->3->4, reorder it to 1->4->2->3. |
Example 2:
1 | Given 1->2->3->4->5, reorder it to 1->5->2->4->3. |
Soulution:
1 | class Solution: |