Python 中的反转字符串 II
pythonserver side programmingprogramming更新于 2026/1/27 21:00:17
假设我们有一个字符串和一个整数 k,我们必须从字符串开头开始每 2k 个字符反转前 k 个字符。如果剩余字符不足,则反转所有字符。如果字符少于 2k 但大于或等于 k 个字符,则反转前 k 个字符,其余字符保留原样。
因此,如果输入为"abcdefgh"且 k = 3,则输出为"cbadefhg"
为了解决这个问题,我们将遵循以下步骤 −
l := 创建 s 的字符列表
i := k-1
while i < 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
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

