应用题-字符串专题-反转字符串II
```python
class Solution:
# 给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符,再重新计数。
# 如果剩余字符少于 k 个,则将剩余字符全部反转。
# 如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。
def reverseStr(self, s: str, k: int) -> str:
s = list( s )
n = len( s )
i = 0
while i < n:
# t是每个区间的起点
# j是交换区间的终点
t = i
j = min( i + k - 1, n - 1 )
# 交换[ t ~ j ]
while t < j:
s[ t ], s[ j ] = s[ j ], s[ t ]
t += 1
j -= 1
i = i + 2 * k
return "".join( s )
```