替换空格
来源:互联网 发布:网络主播合作寻求合作 编辑:程序博客网 时间:2024/06/11 23:08
题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“We are happy.",则输出“We%20are%20happy."。
解答:首先计算出字符串的长度n=strlen(str),然后统计出空格的个数sum,新字符的长度为n+2*sum。再将字符串中的元素后移(先从后面开始)。
设置两个指针,一个指向原字符的末尾,另一个指向新字符的末尾,如果原字符元素为空格,将新字符赋值为%20,否则直接赋值个新字符。
void Replace(char str[],int m){if(str==NULL||m<=0)return ;int n=strlen(str);int sum=0;for(int i=0;i<n;i++){if(str[i]==' ')sum++;}int j=strlen(str)-1+2*sum;if(j>m)return ;i=strlen(str)-1;while(j>i){if(str[i]==' '){str[j--]='0';str[j--]='2';str[j--]='%';i--;}elsestr[j--]=str[i--];}cout<<str<<endl;}相关题目:
有两个排序的数组A1和A2,内存中A1的末尾有足够多的空间容纳A2。实现一个函数,把A2中的所有数字插入到A1中并且所有的数字都是排序的。
假设数组是递增排序的,思路同上面的,确定数组A1,A2合并后到得新数组(占用A1的空间)的长度。设置三个指针i,j,k,分别指向A1的末尾,A2的末尾,新数组的末尾,比较A1[i]和A2[j]
如果A1[i]>A2[j],A1[k]=A1[i];
否则A1[k]=A2[j]。
0 0
- 空格替换
- 替换空格
- 空格替换
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 空格替换
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 【计算机网络常见面试题】TCP的三次握手过程
- 技术书籍阅读参考
- oracle 生成整时数据
- Apache Tajo Enters the SQL-on-Hadoop Space
- ARM中的RO、RW和ZI DATA说明(转)
- 替换空格
- 怎么在IOS开发中辨别IOS版本
- OSEA中QRS波检测算法代码分析-未完待续
- 循环链表及其接口函数的C++实现
- 【转载】Android的GridView和Gallery结合Demo
- java高新技术第一天——eclipse基本使用、可变参数、享元模式(Flyweight)
- 二叉搜索树
- HttpWebResponse请求状态代码
- 移动互联之争走向纵深:战略之争VS战术之争