剑指offer之替换空格
来源:互联网 发布:怎么代理淘宝网店 编辑:程序博客网 时间:2024/05/20 03:36
题目:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
思路: 如果从头往后替换则空格后边的字符串需要集体后移,会大量消耗时间;因此,采用从后向前替换,则需要先求出新字符串的长度,只要求出空格个数则能求出新字符串长度。因此,先求空格个数,再求新字符串长度,然后从后向前替换。
代码:
class Solution {public:void replaceSpace(char *str,int length) { //判断str是否为空 if(str==NULL || length<=0) return; //首先计算空字符的个数 int blankNum=0; int len=0;//除了空格字符长度 for(int i=0;str[i]!='\0';i++){ len++; if(str[i]==' ') blankNum++; } //新字符串 int newLength=len+blankNum*2; if(newLength<=len) //无空格则不更新 return; for(int i=len,j=newLength;i>=0;i--) { if(str[i]!=' ') str[j--]=str[i]; else{ str[j--]='0'; str[j--]='2'; str[j--]='%'; } }}};
阅读全文
0 0
- 剑指Offer之替换空格
- 剑指Offer之 - 替换空格
- 剑指offer之替换空格
- 剑指offer之空格替换
- 剑指offer之替换空格
- 剑指offer之替换空格
- 剑指offer之替换空格
- 《剑指offer》之替换空格
- 剑指offer之 替换空格
- 剑指offer之替换空格
- 剑指offer之替换空格问题
- 剑指offer面试题之替换空格
- 码农小汪-剑指Offer之5 -替换空格
- 剑指offer之替换字符串中的空格
- 剑指offer(四)之替换空格
- 剑指Offer之字符串空格替换问题
- (二)剑指Offer之替换空格
- 剑指offer之空格替换java
- [Java Web]Web请求过程之二:DNS 域名解析
- Git 分支
- 2017 07 16 小结
- hdu2086 A1 = ?(C语言)
- ios中引导页的制作
- 剑指offer之替换空格
- .........
- kafka-常见问题
- linux进程调度浅析
- 欢迎使用CSDN-markdown编辑器
- 2017 07 17 小结
- pdo配置
- Java9都快发布了,Java8的十大新特性你了解多少呢?
- Android设置Activity全屏的两种方式