还是一道数组题啊
class Solution {
public void reverseString(char[] s) {
char a;
int low=0,fast=s.length-1;
while(low<fast)
{
a=s[low];
s[low]=s[fast];
s[fast]=a;
low++;
fast--;
}
}
}
步长设置为2k。
class Solution {
public String reverseStr(String s, int k) {
char[] sn=s.toCharArray();
for(int i=0;i<sn.length;i+=2*k)
{
//因为是左闭右闭区间所以要-1
reverse(sn,i,Math.min(i+k,sn.length)-1);
}
return new String(sn);
}
public void reverse(char[] sn,int left,int right)
{
while(left<right)
{
char temp=sn[left];
sn[left]=sn[right];
sn[right]=temp;
left++;
right--;
}
}}