541.反转字符串-ii
小于 1 分钟
541.反转字符串-ii
/*
* @lc app=leetcode.cn id=541 lang=typescript
*
* [541] 反转字符串 II
*/
// @lc code=start
function reverseStr(s: string, k: number): string {
// 0~k-1反转,k~2k-1正常,2k~3k-1反转
let n = s.length;
if (n === 0) {
return s;
} else if (n < k) {
return reverse(s, n);
} else if (n < 2 * k) {
return reverse(s, k);
} else {
return reverse(s.slice(0, 2 * k), k) + reverseStr(s.slice(2 * k), k);
}
}
// 翻转
function reverse(s: string, num: number): string {
let arr: string[] = s.split("");
for (let i = 0, j = num - 1; i < j; i++, j--) {
[arr[i], arr[j]] = [arr[j], arr[i]];
}
return arr.join("");
}
console.log(reverseStr("abcdefg", 2));
// @lc code=end
Loading...
