【剑指offer】-替换空格
来源:互联网 发布:网络用语产生的原因 编辑:程序博客网 时间:2024/05/16 06:58
题目:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
解析:如果从前往后替换字符串中的空格,则每次替换,都要把空格后的字符向后挪动相应的位置。这样,时间复杂度会很高。在此,我们可以换个思路,先计算出替换后的字符串长度,然后从字符串后面向前遍历,依次替换,这样就不需要重复挪动字符了。
代码如下:
class Solution {public: void replaceSpace(char *str,int length) { if(str==NULL || length<=0) return; int blankSize=0; int len=0; for(int i=0;str[i]!='\0';i++) { len++; if(str[i]==' ') blankSize++; } int newLength=len+blankSize*2; if(newLength>length) return; int j=newLength; for(int i=len;i>=0;i--) { if(str[i]!=' ') str[j--]=str[i]; else { str[j--]='0'; str[j--]='2'; str[j--]='%'; } } }};
1 0
- [剑指offer]替换空格
- [剑指offer]替换空格
- 剑指offer:替换空格
- 替换空格--《剑指offer》
- 剑指Offer:替换空格
- 【剑指offer】替换空格
- 《剑指Offer》--替换空格
- 剑指offer--替换空格
- 【剑指offer】替换空格
- 【剑指offer】空格替换
- 剑指offer-替换空格
- 剑指offer:替换空格
- [剑指offer]替换空格
- 《剑指offer》替换空格
- 剑指offer:替换空格
- 【剑指Offer】替换空格
- 【剑指offer】-替换空格
- 剑指offer 替换空格
- Android 简单特殊知识点
- 2015-10-28基础知识
- Linux基础(五)文件权限drw -r -r--
- leetcode-Combination Sum
- 2015.26.23_ScrollView点击按钮回到顶部
- 【剑指offer】-替换空格
- 终极指南:如何为iOS8应用制作预览视频
- Android对于不同分辨率的支持
- 8.9.1 Controlling Query Plan Evaluation 控制查询评估
- UIImage 图片处理 灰度 反色 深棕色
- 素数的查找
- 超简单的自定义AlertDialog弹出键盘可以输入的
- Uploadify 3.2 参数属性、事件、方法函数详解
- sqlite第三方类库:FMDB使用---1