题解 | #替换空格#
替换空格
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; }