day08-字符串part01
344. 反转字符串
详解
class Solution {
public:
void reverseString(vector<char>& s) {
int left = 0;
int right = s.size() - 1;
while(left <= right){
// char tmp = s[left];
// s[left] = s[right];
// s[right] = tmp;
swap(s[left], s[right]);
left++;
right--;
}
}
};
541. 反转字符串 II
class Solution {
public:
string reverseStr(string s, int k) {
//双指针
int page = 0;
int size = s.length();
while(size > 0){
int left = 2 * k * page;
int right = left + k - 1;
if(right >= s.length())
right = s.length() - 1;
cout << "left:"<<left<<",right:"<<right<<endl;
while(left <= right){
swap(s[left], s[right]);
left++;
right--;
}
size -= 2*k;
page++;
}
return s;
}
};