g0001_0100.s0025_reverse_nodes_in_k_group.readme.md Maven / Gradle / Ivy
25\. Reverse Nodes in k-Group
Hard
Given a linked list, reverse the nodes of a linked list _k_ at a time and return its modified list.
_k_ is a positive integer and is less than or equal to the length of the linked list. If the number of nodes is not a multiple of _k_ then left-out nodes, in the end, should remain as it is.
You may not alter the values in the list's nodes, only nodes themselves may be changed.
**Example 1:**

**Input:** head = \[1,2,3,4,5\], k = 2
**Output:** \[2,1,4,3,5\]
**Example 2:**

**Input:** head = \[1,2,3,4,5\], k = 3
**Output:** \[3,2,1,4,5\]
**Example 3:**
**Input:** head = \[1,2,3,4,5\], k = 1
**Output:** \[1,2,3,4,5\]
**Example 4:**
**Input:** head = \[1\], k = 1
**Output:** \[1\]
**Constraints:**
* The number of nodes in the list is in the range `sz`.
* `1 <= sz <= 5000`
* `0 <= Node.val <= 1000`
* `1 <= k <= sz`
**Follow-up:** Can you solve the problem in O(1) extra memory space? © 2015 - 2025 Weber Informatics LLC | Privacy Policy