[
string
two pointers
]
Leetcode 0541 Reverse String II
Problem statement
https://leetcode.com/problems/reverse-string-ii/
Solution
Just do what is asked, go with step 2k
and reverse groups of k
elements. Note, that in python if we have a = "0123456789"
, then a[7:15] = "789"
, so we do not need to worry about the last reverse.
Complexity
Time and space complexity is O(n)
.
Code
class Solution:
def reverseStr(self, s, k):
s_list = list(s)
for i in range(0, len(s), 2*k):
s_list[i:i+k] = s_list[i:i+k][::-1]
return "".join(s_list)