Reverse String II
Difficulty: Easy
Category: DSA
Topics: Two Pointers, String
Asked at: Apple
Given a string `s` and an integer `k`, reverse the first `k` characters for every `2k` characters counting from the start of the string.
If there are fewer than `k` characters left, reverse all of them. If there are less than `2k` but greater than or equal to `k` characters, then reverse the first `k` characters and leave the other as original.
**Example 1:**
**Input:** s = "abcdefg", k = 2
**Output:** "bacdfeg"
```
**Example 2:**
**Input:** s = "abcd", k = 2
**Output:** "bacd"
```
**Constraints:**
- `1 <= s.length <= 104`
- `s` consists of only lowercase English letters.
- `1 <= k <= 104`