这是自己做的方法,很笨,对吧,我也觉得。
class Solution {
public String reverseLeftWords(String s, int n) {
int length=s.length();
char[] str=new char[length];
int j=0;
for(int i=0;i<length;i++){
if(i<length-n){
str[i]=s.charAt(i+n);
}else{
str[i]=s.charAt(j);
j++;
if(j>n)
break;
}
}
String m=new String(str,0,length);
return m;
}
}
看了题解之后,好家伙,原来可以这莫简单,有的解法甚至只有一行。
class Solution {
public String reverseLeftWords(String s, int n) {
return s.substring(n, s.length()) + s.substring(0, n);
}
}
也可以用可变字符序列StringBuilder解决
class Solution {
public String reverseLeftWords(String s, int n) {
StringBuilder res = new StringBuilder();
for(int i = n; i < s.length(); i++)
res.append(s.charAt(i));
for(int i = 0; i < n; i++)
res.append(s.charAt(i));
return res.toString();
}
}