面试题4:替换空格

148 阅读1分钟

题目

请实现一个函数,把字符串 s 中的每个空格替换成"%20"。

思路

最简单的就是利用C++的replace函数,遇到一个空格替换一下。

第二种思路就是先遍历一遍,count空格数量,count*2就是需要后移的格数,从后往前遍历,放到相应的位置。如果用此方法,不能用string,只能用char数组才可以

代码

  • replace
string replaceSpace(string s) {
        string s2="%20";
        for(int i=0;i<s.length();i++){
            if(s[i]==' '){
                s.replace(i,1,s2);
            }
        }
        return s;
    }
  • 从后往前替换