分组反转字符串,将反转函数作为一个模块,另一个模块用来分组
class Solution {
public String reverseStr(String s, int k) {
Solution ss = new Solution();
char[] pop = s.toCharArray();
int l = s.length();
int nums = 0;
if(k == 0)
return s;
if(l == 0)
return null;
int t = l / (k * 2);
int q = l % (k * 2);
for(int i = 0;i < t;i++){
ss.rever(pop,nums + 0,nums + k - 1);
nums += 2 * k;
}
if(q < k)
ss.rever(pop,nums , nums + q - 1);
else
ss.rever(pop,nums,nums + k - 1);
String sss = String.copyValueOf(pop);
return sss;
}
public void rever(char[] s,int st,int en){
char tmp = '0';
int high = en;
for(int i = st;i <=(st + en)/2;i++){
tmp = s[i];
s[i] = s[high];
s[high] = tmp;
high--;
}
}
}