【题目】
给定一个字符串 s 和一个整数 k,你需要对从字符串开头算起的每隔 2k 个字符的前 k 个字符进行反转。
如果剩余字符少于 k 个,则将剩余字符全部反转。
如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。
【示例】
输入: s = “abcdefg”, k = 2
输出: “bacdfeg”
【提示】
该字符串只包含小写英文字母。
给定字符串的长度和 k 在 [1, 10000] 范围内。
【代码】
【python】
class Solution:
def reverseStr(self, s: str, k: int) -> str:
l=len(s)
time_re=int(l/k)
cnt=0
rs=""
for i in range(time_re):
temp=s[i*k:(i+1)*k]
if cnt%2==0:
temp=temp[::-1]
cnt+=1
rs+=temp
temp=s[len(rs):]
if cnt%2==0:
temp=temp[::-1]
return rs+temp
【方法2】
class Solution:
def reverseStr(self, s: str, k: int) -> str:
a = list(s)
for i in range(0, len(a), 2*k):
a[i:i+k] = reversed(a[i:i+k])
return "".join(a)
本文介绍如何使用Python解决字符串处理问题,通过给定的示例和两种方法,演示如何对字符串每隔2k个字符取前k个字符进行反转,同时处理特殊情况。适合理解字符串操作和Python编程的读者。
1528

被折叠的 条评论
为什么被折叠?



