给定一个字符串和一个偏移量,根据偏移量旋转字符串(从左向右旋转)
样例
对于字符串 "abcdefg"
.
offset=0 => "abcdefg"
offset=1 => "gabcdef"
offset=2 => "fgabcde"
offset=3 => "efgabcd"
python:
class Solution:
"""
@param: str: An array of char
@param: offset: An integer
@return: nothing
"""
def rotateString(self, str, offset):
# write your code here
if not str:
return
if not offset:
return
offset = offset % len(str)
for i in range(offset):
t = str.pop()
str.insert(0,t)
C++:
class Solution {
public:
/*
* @param str: An array of char
* @param offset: An integer
* @return: nothing
*/
void rotateString(string &str, int offset) {
// write your code here
if (str.size() == 0 || offset == 0)
return;
offset %= str.size();
str = str.substr(str.size() - offset, offset) + str.substr(0, str.size() - offset);
}
};