前往此题

切片法

直接通过python自带的切片功能来完成这道题目。

代码

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

复杂度分析

  • 时间复杂度 O(N)
  • 空间复杂度 O(N)

字符串拼接法

  • 新建字符串res
  • 遍历字符串,将s[n]s末尾依次放入到res
  • 再遍历s开头至s[n],依次放入到res

代码

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

利用取余来简化代码

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

复杂度分析

  • 时间复杂度: O(N)
  • 空间复杂度: O(N)