class Solution:
def reverseStr(self, s: str, k: int) -> str:
"""
tc O(N) sc O(N)
1. list string
2. while loop cnt per k, reverse i: i+k, (within boundry) skip to i + 2k
3. join
"""
l = list(s)
n = len(l)
for i in range(0,n,2*k):
z = i
j = min(i+k-1,n-1)
while z < j:
l[z],l[j] = l[j],l[z]
z += 1
j -= 1
return ''.join(l)