Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Reverse a Linked List

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

Your question is Reverse a Linked List. 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

Given the head of a singly linked list, reverse the list and return the new head.

Implement a function that takes the head node of a linked list and reverses all next pointers so the list order is flipped. Do not create a new list of nodes.

Formal Specification

  • Input: head, the head node of a singly linked list, or None for an empty list.
  • Output: The head node of the reversed linked list.

Assume each node has two fields: val and next.

Constraints

  • The list may be empty.
  • 0 <= number of nodes <= 10^5
  • -10^9 <= Node.val <= 10^9
  • Use O(1) extra space if possible.

Function Signature

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