Create Reverse Nodes in k-Group 

Given a linked list, reverse the nodes of a linked list k at a time and return its modified 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 nodes, only nodes itself may be changed.

Only constant memory is allowed.

For example,
Given this linked list: 1->2->3->4->5

For k = 2, you should return: 2->1->4->3->5

For k = 3, you should return: 3->2->1->4->5


而整个架构则是递归 如果k太长则直接返回，如果K短则分块处理，先处理前K段，然后依次递归完成下面的。。。类似于，其中每一段详细的逆倒类似于Reverse Linked List II 题目