替换空格

题目描述

请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
 
题解:我们先统计出来空格的数量,计算出替换后的字符串的长度,然后从后往前替换即可。
 
参考代码:
 1 class Solution {
 2 public:
 3     void replaceSpace(char *str,int length) {
 4         int len=0,clen=0;
 5         for(int i=0;str[i];++i)
 6         {
 7             len++;
 8             if(str[i]==' ') clen++;
 9         }
10         char *s=str+len;
11         char *cs=str+len+clen*2;
12         while(s<cs)
13         {
14             if(*s==' ')
15             {
16                 *cs--='0';
17                 *cs--='2';
18                 *cs--='%';
19             }
20             else *cs--=*s;
21             --s;
22         }
23     }
24 };
View Code

 

posted @ 2019-11-27 22:04  StarHai  阅读(189)  评论(0编辑  收藏  举报