Python 3 solution using recursion (efficient) 3-liner with explanation
Explaination:\n1) take first 2k characters from the string\n2) reverse first k (using slicing [::-1])\n3) add this reversed part with the second half of the con
Explaination:\n1) take first 2k characters from the string\n2) reverse first k (using slicing [::-1])\n3) add this reversed part with the second half of the considered part (2k characters)\n4) call the function again with the remaining string\n5) add the result of this call to your answer\n\nPlease comment for any doubt\n\n```\nclass Solution:\n    def reverseStr(self, s: str, k: int) -> str:\n        if len(s)<(k):return s[::-1]\n        if len(s)<(2*k):return (s[:k][::-1]+s[k:])\n        return s[:k][::-1]+s[k:2*k]+self.reverseStr(s[2*k:],k)\n            \n```
['Recursion', 'Python', 'Python3']