Skip to content

Commit c8c2649

Browse files
solves reverse string ii
1 parent 82da3a1 commit c8c2649

File tree

3 files changed

+32
-1
lines changed

3 files changed

+32
-1
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@
142142
| 530 | [Minimum Absolute Difference in BST](https://leetcode.com/problems/minimum-absolute-difference-in-bst) | Easy | [![Java](assets/java.png)](src/MinimumAbsoluteDifferenceInBST.java) [![Python](assets/python.png)](python/minimum_absolute_difference_in_bst.py) |
143143
| 532 | [K - Diff Pairs in Array](https://leetcode.com/problems/k-diff-pairs-in-an-array) | Easy | [![Java](assets/java.png)](src/KDiffPairsInAnArray.java) [![Python](assets/python.png)](python/k_dif_pairs_in_an_array.py) |
144144
| 538 | [Convert BST to Greater Tree](https://leetcode.com/problems/convert-bst-to-greater-tree) | Easy | [![Java](assets/java.png)](src/ConvertBSTToGreaterTree.java) [![Python](assets/python.png)](python/convert_bst_to_greater_tree.py) |
145-
| 541 | [Reverse String II](https://leetcode.com/problems/reverse-string-ii) | Easy | |
145+
| 541 | [Reverse String II](https://leetcode.com/problems/reverse-string-ii) | Easy | [![Java](assets/java.png)](srcReverseStringII.java/) [![Python](assets/python.png)](python/reverse_string_ii.py) |
146146
| 543 | [Diameter of Binary Tree](https://leetcode.com/problems/diameter-of-binary-tree) | Easy | |
147147
| 551 | [Student Attendance Record I](https://leetcode.com/problems/student-attendance-record-i) | Easy | |
148148
| 557 | [Reverse Words in a String III](https://leetcode.com/problems/reverse-words-in-a-string-iii) | Easy | |

python/reverse_string_ii.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
class Solution:
2+
def reverseStr(self, s: str, k: int) -> str:
3+
result = ''
4+
index = 0
5+
while index < len(s):
6+
reverse_len = min(k, len(s) - index)
7+
for i in range(index + reverse_len - 1, index - 1, -1):
8+
result += s[i]
9+
index += k
10+
for i in range(index, index + k):
11+
if i >= len(s):
12+
break
13+
result += s[i]
14+
index += k
15+
return result

src/ReverseStringII.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
public class ReverseStringII {
2+
public String reverseStr(String s, int k) {
3+
StringBuilder result = new StringBuilder();
4+
for (int index = 0 ; index < s.length() ; ) {
5+
for (int j = 0, reverseLength = Math.min(k, s.length() - index); j < reverseLength ; j++) {
6+
result.append(s.charAt(index + reverseLength - j - 1));
7+
}
8+
index += k;
9+
for (int j = 0 ; j < k && index + j < s.length() ; j++) {
10+
result.append(s.charAt(index + j));
11+
}
12+
index += k;
13+
}
14+
return result.toString();
15+
}
16+
}

0 commit comments

Comments
 (0)