描述
给定一个字符串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”
解释:
注意是原地旋转,即str旋转后为"efgabcd"
class Solution:
"""
@param str: An array of char
@param offset: An integer
@return: nothing
"""
def rotateString(self, str, offset):
# write your code here
lenth=len(str)
#如果是0或者长度和旋转长度相等,直接返回数组
if lenth ==0 or lenth==offset:
return str
#超过数组长度,那就%,在进行计算
if offset%lenth>1:
offset=offset%lenth
str[:-(lenth-offset)],str[-(lenth-offset):]=str[(lenth-offset):],str[:(lenth-offset)]
return str
#截取数组返回
str[:-(lenth-offset)],str[-(lenth-offset):]=str[(lenth-offset):],str[:(lenth-offset)]
return str