Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Linked List Reordering Practice

MediumPython00:00
Practice interviewer
In session
5 left
00:00

Your question is Linked List Reordering Practice. 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.

You need to log in / sign up to run or submit.

Problem

Meta IT maintains a singly linked list of related service links. Reorder the list in place so the sequence becomes L0 -> Ln -> L1 -> Ln-1 -> L2 -> Ln-2 -> ....

Implement reorder_list(head). The function receives the head of a singly linked list and must modify the existing nodes without creating replacement nodes. Return the same head node after reordering.

Formal Specification

  • Input: head, a ListNode object or None. Each node has an integer val and a next pointer.
  • Output: The original head node, with its links rearranged in the required order.
  • The test harness represents a linked list as an array of values. For example, [1, 2, 3] represents 1 -> 2 -> 3.

Constraints

  • 0 <= number of nodes <= 5 * 10^4
  • -10^5 <= node.val <= 10^5
  • Use O(1) auxiliary space
  • Do not allocate new list nodes

Function Signature

def reorder_list(head):
Your solutionPython 3
You need to log in / sign up to run or submit.
Run your code to see test output