剑指offer刷题(2)
来源:互联网 发布:数字报软件 编辑:程序博客网 时间:2024/04/29 05:28
题目描述
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
思路
如果从前往后进行遍历,那么每次找到一个空格,则需要添加两个字节来进行替换,我们采用先对字符串进行遍历,查找字符串中的空格的个数,然后对新的字符串进行长度的计算,然后从后往前进行替换,每遇到一个空字符,然后进行替换。
class Solution {public:void replaceSpace(char *str,int length) {if(str==NULL||length<0){return ;}int oldnumber=0;int numbers=0;int newnumber=0;int i=0;int j=0;int oldlength;int newlength;while(str[i]!='\0'){oldnumber++;if(str[i]==' '){numbers++;}i++;}newnumber=oldnumber+numbers*2;if(newnumber>length)return ;oldlength=oldnumber;newlength=newnumber;while(oldlength>=0&&oldlength<newlength){if(str[oldlength]==' ') { str[newlength--]='0'; str[newlength--]='2'; str[newlength--]='%'; } else //不是空格就把pOldlength指向的字符装入pNewlength指向的位置 { str[newlength--]=str[oldlength]; } oldlength--; }}};
0 0
- 剑指offer刷题(2)
- 剑指Offer 刷题
- 剑指Offer 刷题(1)
- 剑指Offer刷题(3)
- 剑指Offer刷题(4)
- 剑指offer刷题
- 剑指offer-Day.2
- 《剑指offer》系列---2
- 剑指offer chapter 2
- 剑指offer习题2
- 剑指offer-java(2)
- 剑指offer(2)
- 剑指offer-2
- 剑指Offer读书笔记(2)
- 剑指offer 面试题2
- 剑指offer学习笔记2
- 剑指offer 2 替换空格
- 剑指Offer算法精炼(2)
- requestWindowFeature(Window.FEATURE_NO_TITLE)无效果或者崩溃
- android camera接口介绍
- POJ 2479 动态规划 最大子序列问题(两段) Maximum sum
- 【电影推荐】60部经典华语电影,排行不分先后!
- JAVA 基础知识
- 剑指offer刷题(2)
- 图标资源网站
- Linux下配置Lamp
- lamp环境搭建之配置apache与fpm方式的php
- 【电影推荐】20部生存启示录—灾难大片
- Mysql 与聚合函数在一起时候where条件和having条件的过滤时机
- 寄存器
- poj 2536 Gopher II 最大匹配
- Mysql之如何建立索引以及组合索引