剑指offer2 替换空格
来源:互联网 发布:淘宝手机怎么删除评价 编辑:程序博客网 时间:2024/05/21 11:26
#include "iostream"#include "stdio.h"#include "stdlib.h"#include "string.h"using namespace std;/*思路就是先统计空格数量,每个空格都会替换成%20,多出两个空间,计算出总空间之后.从最后开始读字符串,遇到空格则添加%20,遇到其他字符直接写于相应的位置*//*最开始我的思路是从头开始读取,先将str复制到strtemp中再将str清空,之后从头开始读strtemp,如果遇到空格则写入%20,其他字符则直接写入但最后出现了一个比较奇怪的问题,比如说hello world将空格替换成%20之后后面总会变成hello%20hello world.然后我就无奈了*/class Solution {public:void replaceSpace(char *str,int length) {int i,j;int blackNum = 0;int originLen;originLen = length;if (length <= 0 || str == NULL) return;for(i = 0;i < length;i++){if(str[i] == ' ')blackNum++;}length = length + (blackNum*2) - 1;str[length+1] = '\0';for(i = originLen-1;i>=0;i--){if(str[i] == ' '){str[length] = '0';length --;str[length] = '2';length --;str[length] = '%';length --;continue;}str[length] = str[i];length --;}//puts(str);}};int main(){Solution test;char *str;str[0] = 'h';str[1] = 'e';str[2] = 'l';str[3] = 'l';str[4] = 'o';str[5] = ' ';str[6] = 'w';str[7] = 'o';str[8] = 'r';str[9] = 'l';str[10] = 'd';int length = 11;test.replaceSpace(str,length);return 0;}
0 0
- 剑指offer2 替换空格
- 剑指offer2
- 剑指offer2
- [剑指offer]替换空格
- [剑指offer]替换空格
- 剑指offer:替换空格
- 替换空格--《剑指offer》
- 剑指Offer:替换空格
- 【剑指offer】替换空格
- 剑指Offer4 替换空格
- 《剑指Offer》--替换空格
- 剑指offer--替换空格
- 【剑指offer】替换空格
- 【剑指offer】空格替换
- 剑指offer-替换空格
- 剑指offer:替换空格
- [剑指offer]替换空格
- 《剑指offer》替换空格
- 4.面向对象
- Joomla 获取当前时间
- 基于PXE+Pressed方式的Ubuntu14.04网络安装
- Linux ldconfig命令
- 5.面向对象
- 剑指offer2 替换空格
- zoj3201 树形DP+DFS
- Eclipse启动出错:Failed to load the JNI shared library
- nyoj--42--一笔画问题(并查集)
- Haugh变换学习笔记
- 数组(二分查找)
- Oracle基础
- gdb执行和调试窗口分离
- 7.面向对象