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