文章

541-reverse-string-ii

541-reverse-string-ii

Given a string s and an integer k, reverse the first k characters for every 2k characters counting from the start of the string.

If there are fewer than k characters left, reverse all of them. If there are less than 2k but greater than or equal to k characters, then reverse the first k characters and leave the other as original.

Example 1:

Input: s = “abcdefg”, k = 2 Output: “bacdfeg” Example 2:

Input: s = “abcd”, k = 2 Output: “bacd”

My solution:

```python class Solution(object): def reverseStr(self, s, k): “”” :type s: str :type k: int :rtype: str “”” i = 0 length = len(s) while i < length: s = s[:i] + s[i:i+k][::-1] + s[i+k:] i += 2*k return s

Time Complexity: O(n) Space Complexity: O(1)

本文由作者按照 CC BY 4.0 进行授权