1.问题描述
给定一个字符串(以字符数组的形式)和一个偏移量,根据偏移量原地从左向右旋转字符串。
2.问题示例
输入 str="abcdefg",offset = 3,输出"efgabcd"。输人入str="abcdefg",offset = 0,输出"abcdefg"。输入 str="abcdefg",offset = 1,输出'gabcdef",返回旋转后的字符串。输入str="abcdefg" offset =2,输出"fgabcde"),返回旋转后的字符串。
3.代码实现
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
@Author 1103881
@Date 2022/4/18 11:42
"""
class Solution:
# 参数 s:字符列表
# 参数 offset:整数
# 返回值:无
def rotateString(self, s, offset):
if len(s) > 0:
offset = offset % len(s)
temp = (s + s)[len(s) - offset: 2 * len(s) - offset]
for i in range(len(temp)):
s[i] = temp[i]
# 主函数
if __name__ == '__main__':
s = ["a", "b", "c", "d", "e", "f", "g"]
offset = 3
solution = Solution()
solution.rotateString(s, offset)
print("输人:s =", ["a", "b", "c", "d", "e", "f", "g"], "", "offset =", offset)
print("输出:s =", s)
4.运行结果
输入:s = ['a','b','c','d','e','f','g'] offset = 3
输出:s = ['e','f','g', 'a','b','c','d']