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