Espada se refiere a Oferta ------- reemplazar espacios

Inserte la descripción de la imagen aquí

Idea: Esta
pregunta es contar el número de espacios y luego reemplazarlo con la longitud total de la cadena de% 20, usando punteros dobles. Simplemente comience desde atrás y avance hacia adelante, según el código.

Código:

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

Supongo que te gusta

Origin blog.csdn.net/weixin_43743711/article/details/115051460
Recomendado
Clasificación