菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
370
0

替换空格

原创
05/13 14:22
阅读数 95639

题目描述

请实现一个函数,将一个字符串中的每个空格替换成“%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

 

发表评论

0/200
370 点赞
0 评论
收藏