Easy Detailed Explanation in Python || 5 lines
IntuitionLet's look at an example.s = 'abcdefgh' k = 3
Character and its index:

We will need to reverse first k characters  (which is 3): abc -> cba.
After thi
# Intuition
Let's look at an example.
        
`s = 'abcdefgh' `

`k = 3`
Character and its index:
```
a b c d e f g h
^ ^ ^ ^ ^ ^ ^ ^
0 1 2 3 4 5 6 7
```
1. We will need to reverse first `k` characters  (which is 3): `abc -> cba`.
 After this step we have `s = 'cbadefgh'`.

2. Then we reverse `k` (3) characters starting with index `2k` (6). Starting with index 6 we have just `gh -> hg`
3. We stop if the next reverse index is going to be out of range. For our case the next reverse index which is `4k` **is out of range**. (if we had more characters, we would skip next `k` chars and reverse starting with index `4k`) After that we have a final answer assembled: `'cbadefhg'`.


# Algorithm
A `string` data type is  immutable and an immutable object can't be changed after it is created. 

Instead on every iteration we can reassing `s` to a new string that has `k` characters reversed.

So an algorithm:
1. Initialize counter `c` to 0.
This counter multiplied by `k` shows us a **starting point** for every character reversal on every iteration.
2. So if `c*k >= len(s)` we stop iterating because there is nothing left to reverse.
3. We reassing `s` to a new string that has
    1. all its characters prior to `c*k` saved (because all characters before `c*k` are already good and reversed) ;
    2. characters between `c*k` and `c*k+k` reversed. There are `k` charactes between `c*k` and `c*k+k` as in slices we don't include the right border. A nice pythonic way would be to have a `[::-1]` slice as it reversed a string;
    3. all its characters after `c*k+k` saved as well for the next iterations.
    4. Increase counter by 2 to skip next `k` elements

# Code
```python3 []
class Solution:
    def reverseStr(self, s: str, k: int) -> str:
        c = 0
        while c*k < len(s):
            s = s[:c*k] + s[c*k:c*k+k][::-1] + s[c*k+k:]
            c+=2
        return s
```
['String', 'Python3']