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; } };