JAVA - Easy Solution using ArrayList and 2 Pointers
\npublic void reorderList(ListNode head) {\n\tList<ListNode> l = new ArrayList<>();\n\tfor(ListNode iter = head; iter!=null; iter = iter.next)\n\t\tl.add(iter);
```\npublic void reorderList(ListNode head) {\n\tList<ListNode> l = new ArrayList<>();\n\tfor(ListNode iter = head; iter!=null; iter = iter.next)\n\t\tl.add(iter);\n\tint lo = 0, hi = l.size()-1;\n\tListNode dummy = new ListNode(-1);\n\twhile(lo <= hi) {\n\t\tdummy.next = l.get(lo++);\n\t\tdummy = dummy.next;\n\t\tdummy.next = l.get(hi--);\n\t\tdummy = dummy.next;\n\t}\n\tdummy.next = null;                      // eliminate the cycle\n}\n```
[]