替换空格
来源:互联网 发布:深圳淘宝网店培训 编辑:程序博客网 时间:2024/05/19 01:12
题意:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
解题思路:
计算原字符串长度和空格长度,得到新字符串长度
判断是否越界,若不越界,从后往前复制,遇到空格替换成“%20”
之所以从后往前复制是因为从前往后复制需要多次移动字符,从后往前复制可以减少移动的次数
//注意:int indexOfOrigin = origin;
int indexOfNew = newLength;不要减1因为‘\0’也要复制
class Solution {public: void replaceSpace(char *str, int length) { if (str == NULL || length < 0) return; int origin = 0; int space = 0; for (int i = 0; str[i] != '\0'; ++i) { ++origin; if (str[i] == ' ') ++space; } int newLength = origin + 2 * space; int indexOfOrigin = origin; int indexOfNew = newLength; if (newLength > length) return; while (indexOfOrigin >= 0 && indexOfNew > indexOfOrigin) { if (str[indexOfOrigin] == ' ') { str[indexOfNew--] = '0'; str[indexOfNew--] = '2'; str[indexOfNew--] = '%'; } else str[indexOfNew--] = str[indexOfOrigin]; --indexOfOrigin; } return; }};
0 0
- 空格替换
- 替换空格
- 空格替换
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 空格替换
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- HTML5中ul,ol,div标签及其使用语法
- 深度学习(caffe+VS2013+WIN10)使用GPU编译——调用python接口并且成功运行mnist
- 二叉树的前序、中序、后序遍历,非递归前、中、后序遍历
- 【py交易】算法竞赛入门经典6.3.1 小球下落 python
- mybatis基本配置之properties
- 替换空格
- 18.利用助手生成表单
- 批处理的注释
- Java 根据环境属性区分不同操作系统
- 输出9*9乘法表,输出以直角三角形的形状输出
- HDOJ 1042 N! 大数
- 单点登录原理和java实现简单的单点登录
- cassandra 集群安装过程
- 欢迎使用CSDN-markdown编辑器