The Reverse String II solutions are below.
15 Jun 2024•Easy•C++ / Python / TypeScript
Reverse String II
C++, Python and TypeScript solutions for Reverse String II.
Solution files
Python•reverse-string-ii/synced-solution.py
class Solution:
def reverseStr(self, s: str, k: int) -> str:
chars = list(s)
for start in range(0, len(chars), 2 * k):
chars[start:start + k] = reversed(chars[start:start + k])
return "".join(chars)
C++•reverse-string-ii/synced-solution.cpp
class Solution {
public:
string reverseStr(string s, int k) {
for (int start = 0; start < static_cast<int>(s.size()); start += 2 * k) {
reverse(s.begin() + start, s.begin() + min(start + k, static_cast<int>(s.size())));
}
return s;
}
};
TypeScript•reverse-string-ii/synced-solution.ts
function reverseStr(s: string, k: number): string {
const chars = s.split("");
for (let start = 0; start < chars.length; start += 2 * k) {
let left = start;
let right = Math.min(start + k - 1, chars.length - 1);
while (left < right) {
[chars[left], chars[right]] = [chars[right], chars[left]];
left++;
right--;
}
}
return chars.join("");
}