题解 | #替换空格#

// 法一:最省空间和高效,扩容后原地修改
class Solution {
public:
    string replaceSpace(string s) {
        int count = 0;
        int len = s.size();
        // 空格个数
        for (char c : s) {
            if (c == ' ') count++;
        }
        // 根据空格个数扩容
        s.resize(len + 2 * count);
        // 从后向前修改
        int j = s.size() - 1;
        for (int i = len - 1; i < j; i--) {
            if (s[i] != ' ') {
                s[j--] = s[i];
            } else {
                s[j--] = '0';
                s[j--] = '2';
                s[j--] = '%';
            }
        }
        return s;
    }
};

全部评论

相关推荐

08-27 12:02
已编辑
南京外国语学校 网络安全
再来一遍:实则劝各位不要all in华子,不要相信华为hr
点赞 评论 收藏
分享
09-19 13:59
门头沟学院 Java
用微笑面对困难:Trae一下,如果真成了,他用了直接发字节起诉代码版权,,这个代码不商用是没问题的如果没成也是情理之中的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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