算法刷题区域部分反转

算法刷题区域部分反转_第1张图片

不断创建数组,相加,利用cpp内字符串相加的性质即可。具体代码如下:

算法刷题区域部分反转_第2张图片

class Solution {

public:

    string reverseStr(string s, int k) {

        int size = s.size();

int count = size / (2*k);

string a;

int i = 0;

for ( i = 0; i < count; i++)

{

    string a1(s,i*2*k,2 * k);

    reverse(a1.begin(), a1.begin() + k );

    a = a + a1;

}

if (size % (2*k) == 0)

{

    return a;

}

    string a2(s, i * 2 * k);

    if (a2.size() > k)

{

    reverse(a2.begin(), a2.begin() + k);

}

else

{

    reverse(a2.begin(), a2.end());

}

    a = a + a2;

    return a;

    }

};

你可能感兴趣的:(算法,算法)