替换空格
来源:互联网 发布:ubuntu 14.04 反应慢 编辑:程序博客网 时间:2024/05/23 16:17
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
class Solution { public:void replaceSpace(char *str,int length) { //length为牛客系统规定字符串输出的最大长度,固定为一个常数 if(str == NULL || length < 0){ return;//返回,不往下面跑了,就是终止函数的运行,返回调用者,函数不需要返回值 } int i = 0; int oldNumber = 0; int replaceNumber = 0; while(str[i]!='\0'){ oldNumber++; if(str[i]==' '){ replaceNumber++; } i++; } int newLength = oldNumber+2*replaceNumber; //插入后的长度 if(newLength > length)//如果计算后的长度大于最大长度就无法插入 return; int pNewLength = newLength; //记录新的字符串的长度 int pOldLength = oldNumber; //记录以前字符串的长度 while((pOldLength>=0)&&(pOldLength<pNewLength)){ if(str[pOldLength]==' '){ //碰到空格就替换 str[pNewLength--] = '0'; //从后往前替换 str[pNewLength--] = '2'; str[pNewLength--] = '%'; } else{//不是空格就把pOldlength指向的字符装入pNewlength指向的位置 str[pNewLength--]= str[pOldLength]; } pOldLength--;//不管是if还是else都要把pOldlength前移 } }};
阅读全文
0 0
- 空格替换
- 替换空格
- 空格替换
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 空格替换
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 了解HTML/HTML5中的download属性
- HDU
- Eclipse设置相同变量背景色高亮显示
- directshow 获取本地音频
- golang uint8、int8与byte的区别
- 替换空格
- 解析XML文件
- Fibonacci斐波那契数列-实现2
- monkey自动化测试使用教程
- CF 834A-The Useless Toy
- E
- POJ 1314 Finding Rectangles
- Linux文件操作命令
- [UVa 712] S 树(S-Trees)