public void reorderList(ListNode head) {
        if (head == null || head.next == null || head.next.next == null)
            return;
        ListNode mid = getMid(head);
        ListNode right = reverse(mid.next);
        mid.next = null;
        merge(head, right);
    }