Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Reverse a Linked List in Python

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

Your question is Reverse a Linked List in Python. 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 Python function that takes the head node of a linked list and returns the head of the reversed list. The list nodes have two fields: val and next.

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.
  • You must reverse the list by changing node pointers, not by creating a new list of values.

Constraints

  • 0 <= number of nodes <= 10^5
  • -10^9 <= Node.val <= 10^9
  • The linked list is singly linked
  • 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