空格替换

设计一种方法,将一个字符串中的所有空格替换成 %20 。你可以假设该字符串有足够的空间来加入新的字符,且你得到的是“真实的”字符长度。
你的程序还需要返回被替换后的字符串的长度。
注意事项
如果使用 Java 或 Python, 程序中请用字符数组表示字符串。
您在真实的面试中是否遇到过这个题?
Yes
样例
对于字符串"Mr John Smith", 长度为 13
替换空格之后,参数中的字符串需要变为"Mr%20John%20Smith",并且把新长度 17 作为结果返回。

class Solution {
public:
    /**
     * @param string: An array of Char
     * @param length: The true length of the string
     * @return: The true length of new string
     */
    int replaceBlank(char string[], int length) {
        // Write your code here
        int BlankNums=0;
        for(int i=0;i<length;i++){
            if(string[i]==' '){
                BlankNums++;
            }
        }

        int Strlen=length+BlankNums*2;
        int diff=BlankNums*2;

        for(int i=length-1;i>=0;i--){
            if(string[i]!=' '){
                string[i+diff]=string[i];
            }
            else{
                string[i+diff]='0';
                
                diff--;
                string[i+diff]='2';
                diff--;
                string[i+diff]='%';
                
            }
        }

        return Strlen;
    }
}; 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容