切片法
直接通过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)