每日leetcode-数组-541. 反转字符串 II
分类:字符串-字符串的反转
题目描述:
给定一个字符串 s 和一个整数 k,你需要对从字符串开头算起的每隔 2k 个字符的前 k 个字符进行反转。
如果剩余字符少于 k 个,则将剩余字符全部反转。
如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。
class Solution: def reverseStr(self, s: str, k: int) -> str: a = list(s) for i in range(0,len(s)-1,2*k): a[i:i+k] = a[i:i+k][::-1] return "".join(a)
- 时间复杂度:O(N),其中 N 是
s
的大小。我们建立一个辅助数组,用来翻转s
的一半字符。 - 空间复杂度:O(N),
a
的大小。