自学内容网 自学内容网

leetcode:反转字符串II

题目链接
在这里插入图片描述

string reverse(string s1)
{
string s2;
string::reverse_iterator rit = s1.rbegin();
while (rit != s1.rend())
{
s2 += *rit;
rit++;
}
return s2;
}
class Solution {
public:
    string reverseStr(string s, int k) {
        string s1;
        int i = 0;//标记字符串下标
        int j = 0;
        int length =s.length();

        
             for (i = 0; i < length; i+=2*k)
            {
            if (i+2*k<length)
            {
            string tmp = s.substr(i, k);//字符串s从i号下标位置取k个字符
            tmp = reverse(tmp);
            s1 += tmp;
            s1 += s.substr(i + k, k);
            }
            else if (i + 2 * k >= length&&i+k<length)
            {
            string tmp = s.substr(i, k);//字符串s从i号下标位置取k个字符
            tmp = reverse(tmp);
            s1 += tmp;
            s1 += s.substr(i + k, length - (i + k));
            }
            else//i+k>length
            {
            string tmp = s.substr(i, length);//字符串s从i号下标位置取k个字符
            tmp = reverse(tmp);
            s1 += tmp;
            }
            }
        
        return s1;
    }
};

在这里插入图片描述


原文地址:https://blog.csdn.net/m0_57180439/article/details/142795168

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!