Hard
Given the head of a linked list, reverse the nodes k at a time and return the modified list. Nodes left over (fewer than k) stay in their original order.
Input: head = [1,2,3,4,5], k = 2 Output: [2,1,4,3,5]
Input: head = [1,2,3,4,5], k = 3 Output: [3,2,1,4,5]