public static String reverseStr(String s, int k) {
char[] arr = s.toCharArray();
//System.out.println(arr.length);
int start = 0;
if(s.length()<k){
System.out.println(arr.length);
reverse(start,s.length(),arr);
return new String(arr);
}
for(int i=0;i<s.length();i++){
if(i==((2*k-1)+start))
{
reverse(start, start+k, arr);
start = i+1;
}
}
if(start+k<s.length()){
reverse(start, start+k, arr);
}else{
reverse(start, s.length(), arr);
}
return new String(arr);
}
public static void reverse(int start, int end, char[] arr){
while(start<(end/2)){
char temp = arr[start];
arr[start]=arr[end-start];
arr[end-start] = temp;
}
}