这道题也是本周最新的一题,难度easy
Input: s = "abcdefg", k = 2 Output: "bacdfeg"输入如上,简单的说,就是把前k个字母反转过来表示,然后有例外,然后就是每隔2k个距离,再反转一次
public class Solution {
public String reverseStr(String s, int k) {
if(s.length()>k){
int mark=0;
while(mark<s.length()-1){
String temp="";
for(int i=mark+k-1;i>=mark;i--){
if(i<s.length()){
temp=temp+s.charAt(i)+"";
}else{
i=s.length()-1;
temp=temp+s.charAt(i)+"";
}
}
if(mark+k<=s.length()){
s=s.substring(0,mark)+temp+s.substring(mark+k,s.length());
}else{
s=s.substring(0,mark)+temp;
}
mark=mark+2*k;
}
}else{
String temp="";
for(int i=0;i<s.length();i++){
temp=temp+s.charAt(s.length()-i-1)+"";
}
s=temp;
}
return s;
}
}