Reverse Nodes in k-Group Hard 0 attempts
LeetCode ↗

Reverse Nodes in k-Group

Hard Linked List LeetCode

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.

JavaScript