替换空格

    科技2022-07-11  118

    请实现一个函数,将一个字符串中的每个空格替换成“ ”。 例如,当字符串为We Are Happy.则经过替换之后的字符串为We Are Happy。

    class Solution { public: void replaceSpace(char* str, int length) { if (str == nullptr || length <= 0) return; int space_count = 0; //统计空格数量 for (int i = 0; i < length; ++i) { if (str[i] == ' ') ++space_count; } //空格数量为0直接返回 if (space_count == 0) return; //从后往前移动,防止覆盖 //题意不能额外开辟空间,原空间替换,数组新长度 int newlength = length + (space_count * 2); for (int i = length; i >= 0; --i) { if (str[i] == ' ') { str[newlength--] = '0'; str[newlength--] = '2'; str[newlength--] = '%'; } else { str[newlength--] = str[i]; } } } };
    Processed: 0.012, SQL: 8