题目链接
题目描述
Input:
S="abcXYZdef"
K=3
Output:
"XYZdefabc"
解题思路
先将 “abc” 和 “XYZdef” 分别翻转,得到 “cbafedZYX”,然后再把整个字符串翻转得到 “XYZdefabc”。
public class Solution {
public String LeftRotateString(String str,int n) {
if (str==null || str.length()==0)return str;
char[] cs = str.toCharArray();
reverse(cs, 0, n-1);
reverse(cs, n, cs.length-1);
reverse(cs, 0, cs.length-1);
return new String(cs);
}
private void reverse(char[] cs, int i, int j) {
while (i<j) {
char c = cs[i];
cs[i] = cs[j];
cs[j] = c;
i++;j--;
}
}
}