解题思路
- 使用两个StringBuilder 一个保留左旋转的子串,另一个保留剩下的子串,最后用剩下的子串连接左旋转的子串。
代码
方法一:
class Solution {
public static String reverseLeftWords(String s, int n) {
StringBuilder a = new StringBuilder();
StringBuilder b = new StringBuilder();
for(int i=0 ; i<s.length() ; i++) {
if(i<n) {
a.append(s.charAt(i));
}else {
b.append(s.charAt(i));
}
}
return b.append(a).toString();
}
}
代码优化:
class Solution {
public static String reverseLeftWords(String s, int n) {
StringBuilder result = new StringBuilder();
for(int i=n ; i<s.length() ; i++) {
result.append(s.charAt(i));
}
for(int i=0 ; i<n; i++) {
result.append(s.charAt(i));
}
return result.toString();
}
}