题目描述
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
//length为字符串输出的最大长度
class Solution {
public:
void replaceSpace(char *str,int length) {
int old_len = strlen(str);
char* tmp_str = (char*)malloc(old_len + 1);
if(tmp_str == NULL) {
return;
}
strcpy(tmp_str,str);
char* p_str = tmp_str;
while(*p_str) {
if(*p_str == ' ') {
strcpy(str,"%20");
str += 3;
p_str += 1;
}
else {
*(str ++) = *(p_str ++);
}
}
*(str ++) = '\0';
free(tmp_str);
}
};