~替换空格~
来源:互联网 发布:济南泉方pubmed数据库 编辑:程序博客网 时间:2024/05/16 18:39
问题描述:请实现一个函数,将一个字符串中的空格替换成“%20”。
例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
问题分析:
1.解决这道题应该关注的点:
1)字符串的长度
2)空格个数
3)替换后字符串长度
2.替换顺序
要将20%替换进字符串中,有两种替换方法:一种是从头开始替换,另一种是从尾开始替换。可是如果是从头开始替换的话,会覆盖掉一些数据,所以应该从尾开始替换。
3.想清楚这两点之后,思路应该是很清晰了,那么就敲代码了!
源代码如下:
void replaceSpace(char *str,int length) { if(str == NULL && length <= 0) return; int count = 0; int str_len = 0; int i = 0; while(str[i] != '\0') { ++str_len; if(str[i] == ' ') { count++; } ++i; } int new_str_len = str_len + 2 * count; if(new_str_len > length) { return; } int len = str_len; int index = new_str_len; while(len >=0 && index > len) { if(str[len]==' ') { str[index--] = '0'; str[index--] = '2'; str[index--] = '%'; } else { str[index--] = str[len]; } len--; }}
0 0
- 空格替换
- 替换空格
- 空格替换
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 空格替换
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- springMVC与freemarker整合
- 能不能自己写个类,也叫 java.lang.String?
- 486. Predict the Winner
- 算法导论 2.1-2 插入排序 (非递增)
- Minimum number of steps
- ~替换空格~
- Java 使用 SFTP 实现文件上传下载(一)
- matlab读写文件的几个常用函数
- 单点登录--CAS服务器配置
- vue2.0不支持语法(部分vue2.0支持vue1.0不支持)
- win10中卸载了ie浏览器重新安装后不能打开的问题
- 蓝桥杯:猜字母
- 在linux上部署dubbo服务jar包
- ECS ubuntu 16.04初始机安装Oracle java8