剑指offer-字符串替换
来源:互联网 发布:淘宝怎么查看购物车 编辑:程序博客网 时间:2024/05/18 03:16
实现一个函数,将字符串中的空格都替换成“%20”,比如输入“we are happy”,则输出变为“we%20are%20happy”
这道题的解题思路我们可以从前往后复制,遇到空格就给它替换成要求的,但是这样就有的字符就移动了多次,所以可以从后往前去复制,第一步先统计有多少个空格,那就知道了应该往后移动多少个位置,接下来可以定义两个指针。
void ReplaceBlank(char string[],int length){if (string == NULL || length <= 0)return;int originallength=0;int endlength=0;int blank = 0;int i = 0;while (string[i] != '\0'){++originallength;if (string[i] == ' '){ ++blank;}++i;}endlength = originallength + 2 * blank;if (endlength > length)return;int indexstart = originallength;int indexnow = endlength;while (indexstart >= 0 && indexnow > indexstart){if (string[indexstart] == ' '){string[indexnow--] = '0';string[indexnow--] = '2';string[indexnow--] = '%';}else{string[indexnow--] = string[indexstart];}--indexstart;}}至于为什么循环这一句截止条件为
while (indexstart >= 0 && indexnow > indexstart)刚开始不太明白为什么要一直改变后的长度大于改变之前的,因为是在原字符做的呀,当不大于时保持原状就可以了,没有必要还复制嘛。
结果图如下:
0 0
- 【剑指offer】替换字符串
- 剑指offer-字符串替换
- 《剑指offer》-02字符串替换
- 【剑指offer】替换字符串中的空格_04
- 【剑指offer】替换字符串中的空格
- 剑指offer之替换字符串中的空格
- 剑指offer(2) 字符串的替换
- 《剑指offer》:[9]字符串中替换空格
- 《剑指offer》字符串中的字符替换
- 剑指Offer之字符串空格替换问题
- 【剑指offer】字符串的空格替换
- 剑指offer 4题 【字符串】替换空格
- 剑指offer——字符串空格替换
- 字符串(替换空格-剑指offer!!!)
- 【剑指offer】将空格替换制定字符串
- 剑指offer-字符串空格替换为“ ”
- 剑指offer:字符串(替换空格)
- 【剑指offer】字符串中空格的替换
- HZAU1208——Color Circle(dfs)
- 安卓开发——如何查看Androidstudio和Eclipse导出的APK文件
- C++ Primer 总结之Chap5 Expressions
- ffmpeg音视频同步
- zookeeper安装
- 剑指offer-字符串替换
- 二分图匹配——BZOJ1433/Luogu2055 [ZJOI2009]假期的宿舍
- AngularJS绑定DOM
- 二叉树的镜像(Java实现)
- 股市中的黑五类
- python2.7.12以及其相关模块的安装
- 常见的排序算法
- 目标定位--Deep Self-Taught Learning for Weakly Supervised Object Localization
- DNS详解