Skip to content

Commit b901f38

Browse files
committed
Add solution #541
1 parent 0e21c32 commit b901f38

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
387|[First Unique Character in a String](./0387-first-unique-character-in-a-string.js)|Easy|
2020
451|[Sort Characters By Frequency](./0451-sort-characters-by-frequency.js)|Medium|
2121
459|[Repeated Substring Pattern](./0459-repeated-substring-pattern.js)|Easy|
22+
541|[Reverse String II](./0541-reverse-string-ii.js)|Easy|
2223
606|[Construct String from Binary Tree](./0606-construct-string-from-binary-tree.js)|Easy|
2324
617|[Merge Two Binary Trees](./0617-merge-two-binary-trees.js)|Easy|
2425
648|[Replace Words](./0648-replace-words.js)|Medium|

solutions/0541-reverse-string-ii.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
/**
2+
* 541. Reverse String II
3+
* https://leetcode.com/problems/reverse-string-ii/
4+
* Difficulty: Easy
5+
*
6+
* Given a string and an integer k, you need to reverse the first k characters
7+
* for every 2k characters counting from the start of the string. If there are
8+
* less than k characters left, reverse all of them. If there are less than 2k
9+
* but greater than or equal to k characters, then reverse the first k
10+
* characters and left the other as original.
11+
*/
12+
13+
/**
14+
* @param {string} s
15+
* @param {number} k
16+
* @return {string}
17+
*/
18+
var reverseStr = function(s, k) {
19+
const split = s.split('');
20+
for (let i = 0; i < s.length; i += 2 * k) {
21+
split.splice(i, 0, ...split.splice(i, k).reverse());
22+
}
23+
return split.join('');
24+
};

0 commit comments

Comments
 (0)