题解 | #替换空格#

替换空格

https://www.nowcoder.com/practice/0e26e5551f2b489b9f58bc83aa4b6c68

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 
     * @return string字符串
     */
    string replaceSpace(string s) {
        if(s.length() == 0) return s;
        int originalLength = 0;
        int numberOfBlank = 0;
        for(int i = 0;i<s.length();i ++){
            originalLength ++;
            if(s[i] == ' '){
                numberOfBlank ++;
            }
        }
        for(int i = 0;i < 2 * numberOfBlank;i ++){
            s.push_back(' ');
        }
        int newLength = originalLength + 2 * numberOfBlank;
        int p1 = originalLength -1;
        int p2 = newLength - 1;
        while(p1 >= 0){
            if(s[p1] == ' '){
                p1 --;
                s[p2 --] = '0';
                s[p2 --] = '2';
                s[p2 --] = '%';
            }
            else{
                s[p2 --] = s[p1 --];
            }
        }
        return s;
    }
};

特殊输入样例:""," "。

全部评论

相关推荐

不愿透露姓名的神秘牛友
09-24 11:13
点赞 评论 收藏
分享
在秋招的河老师很爱吃:40岁失业 假如22岁开始工作 18年前 2007年那个时候如何 2015年开始互联网爆发 这个时候有了8年经验 然后黄金10年 你想想这些年挣了多少 这要是进的时候某个大厂 这辈子根本花不完了
你找实习最大的坎坷是什么
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务