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)