Your question is Linked List Coding Problem. Start with the requirements on the right.
Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.
Airbnb's listing photo carousel stores photo identifiers in a singly linked list. Given the list L0 -> L1 -> ... -> Ln, reorder it in place as L0 -> Ln -> L1 -> Ln-1 -> L2 -> ....
Return the head of the reordered linked list. Do not create new list nodes. The list may be modified by changing node links.
The input is the head of a singly linked list, where each node has an integer val and a next pointer. The output is the head of the same nodes in the required alternating order. For examples and test cases, lists are represented as arrays, and the test harness converts each array to a linked list before calling the function.
def reorder_list(head):