剑指 Offer ------- 替换空格

在这里插入图片描述

思路:
这道题的话就是统计一下空格的个数,然后再换成%20的总的字符串长度,采取双指针。从后面开始往前遍历即可,具体看代码。

代码:

class Solution {
    
    
public:
    string replaceSpace(string s) {
    
    
        int tmp  = 0;
        for(auto &i:s){
    
    
            if(i==' ') ++tmp;
        }

        int len = s.size() + tmp*2;
        int i = s.size()-1;
        int j = len-1;
        s.resize(len);
        
        while(i>=0){
    
    
            if(s[i]!=' '){
    
    
                s[j]=s[i];
                --i;
                --j;
            }else{
    
    
                --i;
                s[j--] ='0';
                s[j--] ='2';
                s[j--] ='%'; 
            }
        }
        s[len] = '\0';
        return s;
        
    }
};

猜你喜欢

转载自blog.csdn.net/weixin_43743711/article/details/115051460
今日推荐