为了解决这个问题,我们将遵循以下步骤-
l:=列出s的字符
i:= k-1
而我<l + k的大小-
a:= l [从索引0到i-k + 1]
b:= l [从索引i-k + 1到i + 1]
c:= l [从索引i + 1到结束]
l:= a串联b [从索引0到结束]串联c
i:= i + 2 * k
通过串联l中的每个字符返回字符串
让我们看下面的实现以更好地理解-
class Solution: def reverseStr(self, s, k): l = list(s) i = k-1 while i < len(l)+k: a = l[:i-k+1] b = l[i-k+1:i+1] c = l[i+1:] l = a + b[::-1] + c i += 2*k return ''.join(l) ob = Solution()print(ob.reverseStr("abcdefg", 3))
"abcdefg", 3
输出结果
cbadefg