【字符串】leetcode_541_反转字符串 II
c++
class Solution {
public:
string reverseStr(string s, int k) {
int length = s.size();
for (int i = 0; i<length; i+=2*k){
if ((i+k) <= length){
reverse(s.begin()+i, s.begin()+i+k);
} else{
reverse(s.begin()+i,s.end());
}
}
return s;
}
};
python
class Solution:
def reverseStr(self, s: str, k: int) -> str:
s = list(s)
i = 0
while (i + k) < len(s):
s[i: i + k] = s[i: i + k][::-1]
i += 2 * k
if i + k >= len(s):
s[i:i + k] = reversed(s[i:i + k])
return "".join(s)