旋转字符串
题目:
描述
给定一个字符串str和一个偏移量,根据偏移量原地旋转字符串(从左向右旋转)。
对于不同的语言,str将以不用的形式给出,例如对于字符串 "abc" ,将以下面的形式给出
Java: char[] str = {'a', 'b', 'c'};
Python:str = ['a', 'b', 'c']
C++:string str = "abc";
offset >= 0
str的长度 >= 0
原地旋转意味着需要在函数中更改字符串s。你不需要返回任何东西。
样例
样例 1:
输入:
str = "abcdefg"
offset = 3
输出:
"efgabcd"
解题思路:模拟实现即可
public class Solution {
/**
* @param str: An array of char
* @param offset: An integer
* @return: nothing
*/
public void rotateString(char[] str, int offset) {
// write your code here
int len = str.length;
if(len == 0 || len == 1) {
return ;
}
offset = offset % len;
while(offset > 0) {
char tmp = str[len - 1];
for(int i = len - 1; i > 0; i--) {
str[i] = str[i - 1];
}
str[0] = tmp;
offset--;
}
}
}