题解 | 替换空格
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return string字符串 */ char* replaceSpace(char* s ) { // write code here if(s == NULL){return NULL;} int n = strlen(s); int m = 0; for (int i = 0; i<n; i++){ if(s[i]==' '){ m++; } } int len = n + m*2; char* ans = (char*)malloc((len+1) * sizeof(char)); int j = 0; for (int i = 0; i<n; i++){ if (s[i]==' ') { ans[j++] = '%'; ans[j++] = '2'; ans[j++] = '0'; }else{ ans[j++] = s[i]; } } ans[j]= '\0'; return ans; }
首先保证代码是否为空,再遍历确定空格数,再建立一个动态数组(通过第一步的遍历确定数组大小),然后再将输入数组的全都放入动态数组中