剑指offer-替换空格
题目描述
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
class Solution { public: void replaceSpace(char *str,int length) { if(str == nullptr) { return ; } int i = 0; int kg = 0; while(str[i] != '\0') { if(str[i] == ' ') { kg ++; } i++; } int old = length; int newlength = length + kg * 2; while(old >= 0 && newlength > old) { if(str[old] == ' ') { str[newlength--] = '0'; str[newlength--] = '2'; str[newlength--] = '%'; } else { str[newlength--] = str[old]; } old--; } } };