Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Linked List Reversal With Pointers

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

Your question is Linked List Reversal With Pointers. 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

An EPAM Systems data-processing component stores an ordered sequence as a singly linked list. Given the list head, reverse the list in place by changing node pointers, then return the new head.

Formal Specification

The input is head, either None or a reference to a ListNode with integer field val and pointer field next. The evaluator supplies the ListNode implementation. Return a reference to the new head after every next pointer has been reversed. Do not create replacement nodes or use an array to rebuild the list.

For test cases below, a JSON array represents the linked list's values. The expected result is the value sequence obtained by traversing the returned head.

Constraints

  • 0 <= n <= 10^5
  • -10^9 <= node.val <= 10^9
  • The list contains no cycles
  • Do not allocate replacement nodes
  • Use O(1) auxiliary space

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