题解 | #替换空格#

// 法一:最省空间和高效,扩容后原地修改
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;
    }
};

全部评论

相关推荐

不愿透露姓名的神秘牛友
03-29 08:32
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务