classSolution{public:voidreverseString(vector<char>& s){for(int i =0, j = s.size()-1; i < s.size()/2; i++, j--){
s[i]^= s[j];
s[j]^= s[i];
s[i]^= s[j];}}};
541. 反转字符串II
classSolution{public:
string reverseStr(string s,int k){for(int i =0; i < s.size(); i +=(2*k)){if(i + k <= s.size()){reverse(s.begin()+i, s.begin()+i+k);continue;}reverse(s.begin()+i,s.end());}return s;}};
题目:剑指Offer 05.替换空格
classSolution{public:
string replaceSpace(string s){int old_size = s.size();int blank_count =0;for(int i =0; i < old_size; i++){if(s[i]==' '){
blank_count++;}}
s.resize(old_size +2* blank_count);int new_size = s.size();for(int i = new_size -1, j = old_size -1; i > j ; i--, j--){if(s[j]!=' '){
s[i]= s[j];}else{
s[i]='0';
s[i -1]='2';
s[i -2]='%';
i -=2;}}return s;}};