请实现一个函数,将一个字符串中的空格替换成

网友投稿 678 2022-11-08

请实现一个函数,将一个字符串中的空格替换成

请实现一个函数,将一个字符串中的空格替换成

problem

请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

code

class Solution {public: void replaceSpace(char *str,int length) { int blackNum=0; int old_length=0; for(int i=0;str[i]!='\0';i++){ if(str[i]==' '){ blackNum++; } old_length++; } int new_length=old_length+2*blackNum; if(new_length==old_length) return; int p1=old_length-1; int p2=new_length-1; str[new_length]='\0'; while(p1>=0&&p2>=p1){ if(str[p1]==' '){ str[p2--]='0'; str[p2--]='2'; str[p2--]='%'; }else{ str[p2--]=str[p1]; p1--; } } }};

思路是遍历字符串,找到有多少空格,然后再计算新字符串的长度。我们从原字符串和新字符串最后一个字符开始逆向遍历,遇到老字符串的空格,相应的在新字符串上就用%20来代替。

参考文献

[1].题目:请实现一个函数,将一个字符串中的空格替换成“%20”

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:关于自定义过滤器获取不到session问题
下一篇:2018搜狐春招在线笔试编程题总结(技术类)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~