iflen(s)< k:return s[::-1]
num, remainder =divmod(len(s), k)
res =""for i inrange(num):# 余数为0时,需要反转k个字符if i %2==0:
cur = k + i * k -1
pre =max(k +(i -1)* k,0)while cur >= pre:
res += s[cur]
cur -=1else:
cur = k +(i -1)* k
pre = k + i * k
while cur < pre:
res += s[cur]
cur +=1if num %2==0:return res + s[:-(remainder+1):-1]if remainder else res
else:return res + s[-remainder:]if remainder else res
LeetCode344. 反转字符串题目链接解:双指针def reverseString(s): left = 0 right = len(s) - 1 while left <= right: s[left], s[right] = s[right], s[left] left += 1 right -= 1 return s541. 反转字符串 II题目链接解:暴力法 if len(s)