LeetCode 面试题05. 替换空格
面试题05. 替换空格
难度简单
请实现一个函数,把字符串 s
中的每个空格替换成"%20"。
示例 1:
输入:s = "We are happy." 输出:"We%20are%20happy."
限制:
0 <= s 的长度 <= 10000
思路:先将字符串中所有的空格统计出来,然后利用malloc开辟一段连续空间,利用遍历将所有的空格替换,返回。代码如下:
1 char* replaceSpace(char* s){ 2 int i,j=0,count=0; 3 for(i=0;s[i]!='\0';i++){ 4 if(s[i]==' '){ 5 count++; 6 } 7 } 8 char* r; 9 r=(char*)malloc((count*2+strlen(s)+1)*sizeof(char)); 10 for(i=0;i<strlen(s);i++){ 11 if(s[i]!=' '){ 12 r[j++]=s[i]; 13 }else{ 14 r[j++]='%'; 15 r[j++]='2'; 16 r[j++]='0'; 17 } 18 } 19 r[j]='\0'; 20 return r; 21 }