题目
题解
这题解法很多种、切片、遍历都可以。其中有一种比较有意思的是翻转三次
解法一:遍历拼接
这种方法时间和空间负责度均为O(n)
class Solution {
public String reverseLeftWords(String s, int n) {
StringBuilder sb = new StringBuilder();
for (int i = n; i < s.length(); i++) {
sb.append(s.charAt(i));
}
for (int i = 0; i < n; i++) {
sb.append(s.charAt(i));
}
return sb.toString();
}
}
解法二:三次翻转
参考:三次反转
class Solution {
public String reverseLeftWords(String s, int n) {
return new StringBuilder(s.substring(0,n)).reverse()
.append(new StringBuilder(s.substring(n,s.length())).reverse())
.reverse()
.toString();
}
}