[JAVA] One Pass Recursive Solution With Animation Explanation
animation explaination\n\n\n\n\nclass Solution {\n    \n    private ListNode temp;\n    private boolean isStop;\n\n    public void reorderList(ListNode head) {\
[animation explaination](https://docs.google.com/presentation/d/e/2PACX-1vQ-Oy-oQ0i4CvWbo8gf9-v42gVOb5gS76sJvhG7jqIntQV7R1dDG3tS7YUhRiPqYXBCjqCcVsJUeZjG/pub?start=true&loop=false&delayms=1500)\n\n<img src="https://assets.leetcode.com/users/images/0b44167d-f0c4-409a-bb80-9cab9e6b05e0_1612957822.2802742.png" width="600px" />\n\n```\nclass Solution {\n    \n    private ListNode temp;\n    private boolean isStop;\n\n    public void reorderList(ListNode head) {\n        temp = head;\n        isStop = false;\n        reorder(head);\n    }\n\n    private void reorder(ListNode head) {\n        if (head == null) return;\n        reorder(head.next);\n\n        if (!isStop) {\n            ListNode next = temp.next;\n            temp.next = head;\n            head.next = next;\n            temp = next;\n        }\n\n        if (temp != null && temp.next == head) {\n            temp.next = null;\n            isStop = true;\n        }\n    }\n}\n```
['Recursion', 'Java']