541. 反转字符串 II

Posted 这是一个很随便的名字

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了541. 反转字符串 II相关的知识,希望对你有一定的参考价值。

给定一个字符串 s 和一个整数 k,从字符串开头算起,每 2k 个字符反转前 k 个字符。

如果剩余字符少于 k 个,则将剩余字符全部反转。
如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。
 

示例 1:

输入:s = "abcdefg", k = 2
输出:"bacdfeg"
示例 2:

输入:s = "abcd", k = 2
输出:"bacd"
 

提示:

1 <= s.length <= 104
s 仅由小写英文组成
1 <= k <= 104

#include<algorithm>
class Solution {
public:
    string reverseStr(string s, int k) {
        int i = 0;
        while(i<s.size())
        {
            
            reverse(s.begin()+i,s.begin()+(i+k>s.size()?s.size():i+k));
            i+=2*k;
        }
        return s;
    }
};

以上是关于541. 反转字符串 II的主要内容,如果未能解决你的问题,请参考以下文章

Java算法 每日一题 编号541:反转字符串 II

代码随想录算法训练营第8天 | ● 344.反转字符串 ● 541. 反转字符串II ● 剑指Offer 05.替换空格 ● 151.翻转字符串里的单词 ● 剑指Offer58-II.左旋转字符串

541-反转字符串 II

541-反转字符串 II

541. 反转字符串 II

541. 反转字符串 II