算法刷题区域部分反转
不断创建数组,相加,利用cpp内字符串相加的性质即可。具体代码如下:
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;
}
};