1. public class Solution {
    2. public void reorderList(ListNode head) {
    3. if (head == null) {
    4. return;
    5. }
    6. List<ListNode> array = new ArrayList<>();
    7. ListNode node = head;
    8. while (node != null) {
    9. array.add(node);
    10. node = node.next;
    11. }
    12. int left = 0;
    13. int right = array.size() - 1;
    14. while (left < right) {
    15. array.get(left).next = array.get(right);
    16. left++;
    17. if(left == right){
    18. break;
    19. }
    20. array.get(right).next = array.get(left);
    21. right--;
    22. }
    23. array.get(left).next = null;
    24. }
    25. }