如何替换字符串中的空格
导读:本文共1205.5字符,通常情况下阅读需要4分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 题目描述:实现一个函数,把字符串中的每个空格替换成 “%20”例如: 输入“We are happy.” 输出“We%20are%20happy.”分析:每次遇到空格后,把空格后所有的字符都向后移动两个位置,于是会多出三个位置,此时将该三个位置替换成字符串“%20”,如下图:很显然,这种方法的时间复杂度为 O(n^2),因此不适合采用!方法二:根据这种思路,代码... ...
音频解说
目录
(为您整理了一些要点),点击可以直达。题目描述:实现一个函数,把字符串中的每个空格替换成 “%20”
例如: 输入“We are happy.” 输出“We%20are%20happy.”
分析:每次遇到空格后,把空格后所有的字符都向后移动两个位置,于是会多出三个位置,此时将该三个位置替换成字符串“%20”,如下图:
很显然,这种方法的时间复杂度为 O(n^2),因此不适合采用!
方法二:
根据这种思路,代码应该很好写了:
/*length为字符数组string的总容量*/voidReplaceBlank(charstring[],intlength){if(string==NULL&&length<=0)return;/*originalLength为字符串string的实际长度*/intoriginalLength=0;intnumberOfBlank=0;inti=0;while(string[i]!='\0'){++originalLength;if(string[i]=='')++numberOfBlank;++i;}/*newLength为把空格替换成'%20'之后的长度*/intnewLength=originalLength+numberOfBlank*2;if(newLength>length)return;intindexOfOriginal=originalLength;intindexOfNew=newLength;while(indexOfOriginal>=0&&indexOfNew>indexOfOriginal){if(string[indexOfOriginal]==''){string[indexOfNew--]='0';string[indexOfNew--]='2';string[indexOfNew--]='%';}else{string[indexOfNew--]=string[indexOfOriginal];}--indexOfOriginal;}}
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:
如何替换字符串中的空格的详细内容,希望对您有所帮助,信息来源于网络。