auto-generated entry for Reverse String II. the solution files are available below.
solution files
- C++
reverse-string-ii/synced-solution.cpp - Python
reverse-string-ii/synced-solution.py - TypeScript
reverse-string-ii/synced-solution.ts
Collected C++, Python, TypeScript solutions for reverse string ii. Add a dedicated write-up later if you want deeper notes.
auto-generated entry for Reverse String II. the solution files are available below.
reverse-string-ii/synced-solution.cppreverse-string-ii/synced-solution.pyreverse-string-ii/synced-solution.tsclass Solution:
def reverseStr(self, s: str, k: int) -> str:
chars = list(s)
for start in range(class="syntax-number">0, len(chars), class="syntax-number">2 * k):
chars[start:start + k] = reversed(chars[start:start + k])
return class="syntax-string">"".join(chars)
class Solution {
public:
string reverseStr(string s, int k) {
for (int start = class="syntax-number">0; start < static_cast<int>(s.size()); start += class="syntax-number">2 * k) {
reverse(s.begin() + start, s.begin() + min(start + k, static_cast<int>(s.size())));
}
return s;
}
};
function reverseStr(s: string, k: number): string {
const chars = s.split(class="syntax-string">"");
for (let start = class="syntax-number">0; start < chars.length; start += class="syntax-number">2 * k) {
let left = start;
let right = Math.min(start + k - class="syntax-number">1, chars.length - class="syntax-number">1);
while (left < right) {
[chars[left], chars[right]] = [chars[right], chars[left]];
left++;
right--;
}
}
return chars.join(class="syntax-string">"");
}