读书笔记-剑指offer面试题4
来源:互联网 发布:淘宝的心怎么快速升级 编辑:程序博客网 时间:2024/05/16 06:05
剑指offer面试题4:一个字符串中的空格 替换为%20
一般解法:如果一个一个的遍历,碰到空格就把它换为%20,那么后面的所有元素都要移动两个位的距离,时间复杂度O(N2)
O(n) 解法:遍历一遍字符串,得出空格的个数,这样 就得到替换后的新的字符串长度NewLength。那么首先我们准备两个指针,第一个p1指向字符串的末尾,另一个p2指向被替换后的字符串的末尾,这样p1,p2同时向前移动,如果p1指向的值不为空格,则直接复制到p2所指向的位置,如果碰见空格,则把空格替换为%20,然后复制的p2所指的位置,然后p2向前多一动两步。
//字符串空格替换为%20void ReplaceString(char *str,int length){ //判断字符串是否为空,或长度小于0 if(NULL==str||length<=0)return; else{ int originalLength=0;//实际长度int NewLength=0;//替换后的长度int i=0,j=0;while(str[i]!='\0'){ ++originalLength; if(str[i]==' ')++j; ++i;}NewLength=originalLength+j*2;while(originalLength>0||NewLength>originalLength){ if(str[originalLength]==' '){ str[NewLength--]='0';str[NewLength--]='2';str[NewLength--]='%'; } else{ str[NewLength--]=str[originalLength]; } --originalLength;} }}
- 读书笔记-剑指offer面试题4
- 读书笔记-剑指offer 面试题3
- 剑指offer面试题4
- 剑指offer 面试题4
- 【面试题】剑指offer 4
- 剑指offer面试题4
- 剑指offer面试题4
- 剑指offer面试题4
- 剑指offer 面试题
- 剑指offer面试题
- 剑指offer-->面试题4 替换空格
- 《剑指offer》面试题4 替换空格
- 【剑指offer】面试题4:替换空格
- 【剑指offer】面试题4替换空格
- 剑指offer 面试题4 替换空格
- 剑指Offer:面试题4 替换空格
- 剑指offer-面试题4-替换空格
- 《剑指Offer》面试题4:替换空格
- Create a Java Web Application using Embedded Tomcat (如何使用Embedded 创建一个基于Tomcat的Web 应用))
- vc++2010 error LNK2019错误
- Collections.sort升序和降序笔记
- Sql Server 2008批量导入表、视图的脚本
- 黑马程序员-类加载器
- 读书笔记-剑指offer面试题4
- Android 输入法遮挡问题
- Android Binder之经典好文
- 最长重复子串
- Ecliplse 指定JRE
- Oracle drop 表以后空间无法回收
- mysqldump参数详细说明
- 《创造性思维》的读书笔记
- 乐观锁