剑指offer | 左旋字符串
2019-07-31 本文已影响0人
icebreakeros
左旋字符串
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部
示例
输入:helloworld
和3
输出:loworldhel
输入:helloworld
和13
输出:loworldhel
public class LeftRotateString {
public String leftRotate(String str, int k) {
if (Optional.ofNullable(str).isEmpty() || str.length() == 0 ||
k < 0 || (k % str.length()) == 0) {
return str;
}
StringBuffer sb = new StringBuffer();
k = k % str.length();
int i = k;
while (i < str.length()) {
sb.append(str.charAt(i++));
}
i = 0;
while (i < k) {
sb.append(str.charAt(i++));
}
return sb.toString();
}
}