剑指offer 04_替换字符串中的空格
2015-08-12 13:49
483 查看
#include <stdio.h> void ReplaceBlank(char string[],int length){ if(string == NULL || length == 0){ return; } int originalLength = 0;// int blankCount = 0; while(string[originalLength] != '\0'){ if(string[originalLength] == ' '){ ++blankCount; } ++originalLength; } int newLength = originalLength + blankCount * 2; if(newLength > length){//not enough space return; } int indexFirst = originalLength; int indexSecond = newLength; while(indexFirst>=0 && indexSecond>indexFirst){ if(string[indexFirst] == ' '){ string[indexSecond--] = '0'; string[indexSecond--] = '2'; string[indexSecond--] = '%'; }else{ string[indexSecond--] = string[indexFirst]; } --indexFirst; } } int main(){ char str[50] = "We are happy."; printf("str = %s\n",str); ReplaceBlank(str,50); printf("str = %s\n\n",str); char str1[50] = "Wearehappy."; printf("str1 = %s\n",str1); ReplaceBlank(str1,50); printf("str1 = %s\n\n",str1); char str2[50] = " We are happy."; printf("str2 = %s\n",str2); ReplaceBlank(str2,50); printf("str2 = %s\n\n",str2); char str3[50] = ""; printf("str3 = %s\n",str3); ReplaceBlank(str3,50); printf("str3 = %s\n\n",str3); return 0; }
结果
str = We are happy. str = We%20are%20happy. str1 = Wearehappy. str1 = Wearehappy. str2 = We are happy. str2 = %20%20%20We%20are%20happy. str3 = str3 =
相关文章推荐
- jquery delegate
- CSS Hack
- 原生js获取元素样式
- jstl记录
- js 点击按钮跳转 window.location.href
- 常用CSS样式属性|CSS样式表
- CSS3给页面打标签
- css中position的理解
- 突破Javascript长度验证及Mysql错误回显套公式法注入
- 具有动态效果的响应式设计
- 使用CSS来设置SVG中Use元素的样式
- 从一行代码里面学点JavaScript
- 利用promise写出更加优美的nodejs程序
- 在 Node.js 中用 Q 实现 Promise – Callback 之外的另一种选择
- 理解JavaScript中的依赖注入
- NodeJs教程
- Node.js async in practice: When to use what?
- 在Node.js中使用promise摆脱回调金字塔
- windows下安装sass/scss
- Node.js 常见面试题