（难度Hard）Problem 25. Reverse Nodes in k-Group（翻转链表中相邻k个元素）

### 链接

Reverse Nodes in k-Group - LeetCode

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.

Note：

Only constant extra memory is allowed.

You may not alter the values in the list's nodes, only nodes itself may be changed.

### 题意

1. 只能允许线性的额外空间，即是空间复杂度必须在$O(n)$
2. 不能修改node的值，只能修改node

### 样例

Example:

For k = 2, you should return: 2->1->4->3->5

For k = 3, you should return: 3->2->1->4->5