题解 | #替换空格#
替换空格
https://www.nowcoder.com/practice/0e26e5551f2b489b9f58bc83aa4b6c68
char* replaceSpace(char* s ) {
int i = 0, j = 0;
int cnt = 0, n = strlen(s);
for (i = 0; i < n; i++) {
if (s[i] == ' ')
cnt++; //求空格个数
}
char* ret = NULL; //新数组头指针
ret = (char*)malloc(sizeof(int) * ( n + cnt * 3 + 1)); //定义新数组大小
for (i = 0, j = 0; i < n; i++, j++) {
if (s[i] != ' ')
ret[j] = s[i]; //不是空格就直接复制
else if (s[i] == ' ') {
ret[j] = '%'; //遇到空格要逐一赋值
ret[j + 1] = '2';
ret[j + 2] = '0';
j = j + 2; //要与i保持同步
}
}
return ret;
}
查看18道真题和解析