题目:字符串的左旋转操作室把字符串的前面的若干个字符转移到字符串的尾部。比如长度为n 左移k个
思路:前k个翻转,后n-k个翻转,然后全部翻转。
public class Solution {
public static String RotateK(String str,int k) {
if(str==null) return null;
if(str.equals(""))return "";
int m=k%str.length();
char[] a=str.toCharArray();
reverse(a,0,m-1);
reverse(a,m,a.length-1);
reverse(a,0,a.length-1);
return new String(a).toString();
}
public static void reverse(char[] a,int left,int right){
while(left<right){
char temp=a[left];
a[left]=a[right];
a[right]=temp;
left++;
right--;
}
}
}