Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Reverse Linked List in K Groups

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

Your question is Reverse Linked List in K Groups. 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

Autodesk Fusion 360 can represent design-history operations as a singly linked list. Given the list head and an integer k, reverse the nodes in consecutive groups of exactly k and return the new head.

The reversal must modify existing node links in place. If the final group contains fewer than k nodes, preserve that group’s original order.

Formal Specification

Implement reverse_k_group(head, k), where head is either a ListNode or None, and each node has integer field val and pointer field next. Return the ListNode that begins the transformed list. Do not create replacement data nodes or convert the list to an array.

Constraints

  • 0 <= n <= 10^5
  • 1 <= k <= 10^5
  • -10^9 <= node.val <= 10^9
  • The list is singly linked and contains no cycles
  • No replacement data nodes may be allocated
  • Auxiliary space must be O(1)

Function Signature

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