题解 | #替换空格#
替换空格
https://www.nowcoder.com/practice/0e26e5551f2b489b9f58bc83aa4b6c68
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @return string字符串
*/
char* replaceSpace(char* s ) {
// write code here
if(s == NULL){
return NULL;
}
int i = 0, j = 0;
int len = strlen(s);
int new_len = 0;
while(s[i] != '\0'){
new_len++;
if(s[i] == ' '){
new_len+=2; // 原来有一位
}
i++;
}
char *newS = (char *)malloc(sizeof(char) * new_len); // 获得的内存大小为 char占字节数*new_len
memset(newS, 0, new_len);
for(int i = 0; i < len; ++i){
if(s[i] == ' ')
{
newS[j] = '%';
newS[j+1] = '2';
newS[j+2] = '0';
j += 3;
}
else{
newS[j++] = s[i];
}
}
return newS;
}
