Reverse Nodes in k-Group
Reverse the nodes of a linked list k at a time. Nodes remaining less than k stay as-is.
Example: head = [1,2,3,4,5], k = 2 → [2,1,4,3,5]
Sample Input
—
Sample Output
—
Constraints
- 1 <= n <= 5000
- 0 <= Node.val <= 1000
- 1 <= k <= n
Topics
Iterative K-Group Reversal
function reverseKGroup(head, k) {
const dummy = {next: head};
let prev = dummy;
while (true) {
let kth = prev;
for (let i = 0; i < k; i++) { kth = kth.next; if (!kth) return dummy.next; }
let curr = prev.next, next = curr.next;
for (let i = 0; i < k - 1; i++) {
curr.next = next.next; next.next = prev.next; prev.next = next; next = curr.next;
}
prev = curr;
}
}
Time: O(n) | Space: O(1)
Saved in this browser only. Private to you.