extend from Leetcode 24
0(q)-1(head)-2-3-4-5-6
0(q)-2-1(head)-3-4-5-6
0-3-2-1(q)-4(head)-5-6
class Solution {
public ListNode reverseKGroup(ListNode head, int k) {
ListNode res=new ListNode(0);
res.next=head;
ListNode p=res;
ListNode tmp=head;
int len=0;
while(tmp!=null){
len+=1;
tmp=tmp.next;
}
while(len>=k){
for(int j=0;j<k-1;j++){
ListNode node=p.next;
p.next=head.next;
head.next=p.next.next;
p.next.next=node;
}
p=head;
head=head.next;
len-=k;
}
return res.next;
}
}