【字符串】剑指 Offer 58 - II. 左旋转字符串

题目描述
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。

示例
输入: s = “abcdefg”, k = 2
输出: “cdefgab”

题解1:字符串为不可变对象。要知道的是字符串也可以用下标进行访问!!!

class Solution:
    def reverseLeftWords(self, s: str, n: int) -> str:
        result = []
        tmp = []
        for index,i in enumerate(s):
            if index < n:
                tmp.append(i)
            else:
                result.append(i)
        result = result + tmp
        return "".join(result)

题解2:字符串也可以用下标进行访问!!!

class Solution:
    def reverseLeftWords(self, s: str, n: int) -> str:
        res = []
        for i in range(n, len(s)):
            res.append(s[i])
        for i in range(n):
            res.append(s[i])
        return ''.join(res)

题解3:字符串切片

class Solution:
    def reverseLeftWords(self, s: str, n: int) -> str:
        return s[n:] + s[:n]

猜你喜欢

转载自blog.csdn.net/Rolandxxx/article/details/128899752
今日推荐