C / C++. faster than 97.61%. O(n), Super simple & clear solution.
\tclass Solution {\n\tpublic:\n\t\tvoid reorderList(ListNode head) {\n\t\t\tif ( ! head ) return;\n\t\t\tListNode slow = head, fast = head;\n\t\t\twhile ( fast-
\tclass Solution {\n\tpublic:\n\t\tvoid reorderList(ListNode* head) {\n\t\t\tif ( ! head ) return;\n\t\t\tListNode *slow = head, *fast = head;\n\t\t\twhile ( fast->next && fast->next->next )\n\t\t\t{\n\t\t\t\tslow = slow->next;\n\t\t\t\tfast = fast->next->next;\n\t\t\t}\n\t\t\t\t\n\t\t\t\n\t\t\tListNode *prev = NULL, *cur = slow->next, *save;\n\t\t\twhile ( cur )\n\t\t\t{\n\t\t\t\tsave = cur->next;\n\t\t\t\tcur->next = prev;\n\t\t\t\tprev = cur;\n\t\t\t\tcur = save;\n\t\t\t}\n\t\t\t\t\n\t\t\tslow->next = NULL;\n\t\t\t\n\t\t\tListNode *head2 = prev;\n\t\t\twhile ( head2 )\n\t\t\t{\n\t\t\t\tsave = head->next;\n\t\t\t\thead->next = head2;\n\t\t\t\thead = head2;\n\t\t\t\thead2 = save;\n\t\t\t}      \n\t\t}\n\t};
['Linked List', 'C', 'C++']