請實現一個函數,把字符串 s 中的每個空格替換成"%20"。
示例 1:
輸入:s = "We are happy."
輸出:"We%20are%20happy."
限制:
0 <= s 的長度 <= 10000
char* replaceSpace(char* s){
int n = strlen(s),num_char=0,num_space=0;
for(int i = 0;i<n;i++){
if(s[i]==' '){
++num_space;
}
else{
++num_char;
}
}
int length = num_char+num_space*3;
char *res = (char*)malloc(sizeof(char)*(length+1));
res[length] = '\0';
int p1 = n-1, p2 = length-1;
while(p1>=0){
if(s[p1]!=' '){
res[p2--]=s[p1--];
}
else if(s[p1]==' '){
res[p2--]='0';
res[p2--]='2';
res[p2--]='%';
p1--;
}
}
return res;
}
res[length] = '\0';這一行一定要加,否則在leetcode運行時會heap-buffer-overflow