344.反转字符串
void reverseString(vector<char>& s) {
//双指针原地修改数组
for(int i = 0, j = s.size() - 1; i < s.size() / 2; i++, j--)
{
swap(s[i],s[j]);
}
}
541.反转字符串II
反转前k个字符串
string reverseStr(string s, int k) {
for(int i = 0; i < s.size(); i += (2*k)) // 每次跃进2k是本题的精髓
{
if(i + k <= s.size()) // 满足条件,且长度合适
{
reverse(s.begin() + i, s.begin() + k + i);
}
else{
reverse(s.begin() + i, s.end());
}
}
return s;
}