Skip to content

Commit 45fc3f9

Browse files
committed
541. 反转字符串-ii (二刷)
1 parent 0a43709 commit 45fc3f9

File tree

2 files changed

+46
-1
lines changed

2 files changed

+46
-1
lines changed

algorithms/reverse-string-ii.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,14 @@
44
* @return {string}
55
*/
66
var reverseStr = function (s, k) {
7+
// two pointers
8+
79
const arr = s.split("");
10+
811
for (let i = 0; i < arr.length; i += 2 * k) {
9-
// two pointers
1012
let left = i;
1113
let right = i + k - 1;
14+
1215
if (right > arr.length - 1) {
1316
right = arr.length - 1;
1417
}
@@ -18,6 +21,7 @@ var reverseStr = function (s, k) {
1821
right--;
1922
}
2023
}
24+
2125
return arr.join("");
2226
};
2327

vs-lt/541.反转字符串-ii.js

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
/*
2+
* @lc app=leetcode.cn id=541 lang=javascript
3+
*
4+
* [541] 反转字符串 II
5+
*/
6+
7+
// @lc code=start
8+
/**
9+
* @param {string} s
10+
* @param {number} k
11+
* @return {string}
12+
*/
13+
var reverseStr = function(s, k) {
14+
// two poiners
15+
16+
const arr = s.split('');
17+
18+
for (let i = 0; i < arr.length; i += 2 * k) {
19+
let left = i;
20+
let right = i + k - 1;
21+
22+
if (right > arr.length - 1) {
23+
right = arr.length - 1;
24+
}
25+
while (left < right) {
26+
swap(arr, left, right);
27+
left++;
28+
right--;
29+
}
30+
}
31+
32+
return arr.join('');
33+
};
34+
35+
function swap(arr, i, j) {
36+
const temp = arr[i];
37+
arr[i] = arr[j];
38+
arr[j] = temp;
39+
}
40+
// @lc code=end
41+

0 commit comments

Comments
 (0)