题目描述
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
class Solution {
public:
void replaceSpace(char *str, int length) {
if (NULL == str || length <= 0)
return;
char *p = str;
int count= 0;
int len = strlen(str);
while(*p){
if(*p == ' ')count++;
p++;
}
char *q = str + len + count * 2;//移动到最后'\0'位置
while(p != str - 1){
*q = *p;
if( *q == ' '){
*q = '0';
q[-1] = '2';
q[-2] = '%';
q -= 3;
}
else
q--;
p--;
}
}
};