class Solution:
"""
@param str: An array of char
@param offset: An integer
@return: nothing
"""
def rotateString(self, s, offset):
# write your code here
if len(s) < 2 or offset % len(s) == 0:
return s
offset = offset % len(s)
self.reverse(s, 0, len(s) - 1 - offset)
self.reverse(s, len(s) - offset, len(s) - 1)
self.reverse(s, 0, len(s) - 1)
return s
def reverse(self, s, start, end):
while start < end:
s[start], s[end] = s[end], s[start]
start += 1
end -= 1
Time O(n). Space O(1).