classSolution{public:voidreverseString(vector<char>& s){int left =0, right = s.size()-1;while(left < right){swap(s[left], s[right]);
left ++;
right--;}}};
classSolution{public:
string reverseStr(string s,int k){int count = s.size()/2/ k;int tail = s.size()%(2*k);for(int i =0; i < count; i++){reverse(s, i *2* k, i *2* k + k -1);}if(tail < k)reverse(s, count *2* k, s.size()-1);elsereverse(s, count *2* k, count *2* k + k -1);return s;}voidreverse(string &s,int left,int right){while(left < right){swap(s[left], s[right]);
left++;
right--;}}};
题解
classSolution{public:
string reverseStr(string s,int k){for(int i =0; i < s.size(); i +=2* k){if(s.size()- i < k){reverse(s.begin()+ i, s.end());}else{reverse(s.begin()+ i, s.begin()+ i + k);}}return s;}};
classSolution{public:
string replaceSpace(string s){
string res;for(int i =0; i < s.size(); i++){if(s[i]==' ') res +="%20";else res += s[i];}return res;}};
题解
classSolution{public:
string reverseStr(string s,int k){for(int i =0; i < s.size(); i +=2* k){if(s.size()- i < k){reverse(s.begin()+ i, s.end());}else{reverse(s.begin()+ i, s.begin()+ i + k);}}return s;}};