Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Reverse Adjacent Linked Nodes

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

Your question is Reverse Adjacent Linked Nodes. 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

Disney+ maintains a singly linked list of content identifiers for a playback sequence. Given the head of the list, reverse every two adjacent nodes and return the new head. The node values must remain unchanged, and only the links between nodes may be modified.

If the list contains an odd number of nodes, the final node remains in its original position. Implement the transformation in place without creating replacement nodes.

Formal Specification

The input is head, either None or a reference to a ListNode object with fields val and next. Return the head of the modified linked list. The provided ListNode definition and test harness construct linked lists from the array representations used in the tests.

Constraints

  • 0 <= n <= 10^5, where n is the number of nodes
  • -10^9 <= node.val <= 10^9
  • Node values may repeat
  • Modify nodes in place without creating replacement nodes
  • The solution must be iterative

Function Signature

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