一、题目描述
s = “abcd123” k = 3
Return “123abcd”
将字符串向右循环移动 k 位。
二、解题
将 abcd123 中的 abcd 和 123 单独翻转,得到 dcba321,然后对整个字符串进行翻转,得到 123abcd。
class Solution {
public String turnright(String str,int k){
String substr1 = reverseString(str.substring(0,str.length() - k));
String substr2 = reverseString(str.substring(str.length() - k,str.length()));
return reverseString(substr1+substr2);
}
public String reverseString(String str1) {
char[] chs = str1.toCharArray();
for(int i =0,j = str1.length()-1;i<j;i++,j--){
char tmp = chs[i];
chs[i] = chs[j];
chs[j] = tmp;
}
return new String(chs);
}
}