import java.util.*;
/*
* public class ListNode {
* int val;
* ListNode next = null;
* }
*/
public class Solution {
/**
*
* @param head ListNode类
* @param k int整型
* @return ListNode类
*/
public static ListNode reverseKGroup(ListNode head, int k) {
ListNode virtualRoot = new ListNode(0);
virtualRoot.next = head;
ListNode pre = virtualRoot;
ListNode temp, start = pre.next;
int count = 0;
while (head != null) {
count++;
head = head.next;
}
for (int i = 0; i < count / k; i++) {
for (int j = 1; j < k; j++) {
temp = start.next;
start.next = temp.next;
temp.next = pre.next;
pre.next = temp;
}
pre = start;
start = start.next;
}
return virtualRoot.next;
}
}