剑指offer面试题05:替换空格

剑指offer面试题05:替换空格_第1张图片
不重新开辟新字符串,直接在原字符串进行修改的方法

class Solution {
     
public:
    string replaceSpace(string s) {
     
        if(s.empty()) return s;
        int count=0;
        for(int i=0;i<s.size();i++) {
     
            if(s[i]==' ') count++; 
        }
        int ori=s.size()-1;
        s.resize(s.size()+2*count);
        int now=s.size()-1;
        while(ori!=now) {
     
            if(s[ori]!=' ') {
     
                s[now]=s[ori];
                now--;
                ori--;
            }
            else {
     
                s[now]='0';
                s[--now]='2';
                s[--now]='%';
                ori--;
                now--;
            }
           
        }
        return s;
    }
};

你可能感兴趣的:(剑指offer,字符串,面试)