《剑指offer》字符串中的字符替换
2016-05-30 17:17
337 查看
一、题目描述
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。二、输入描述
char *str :字符串int length : 字符串的长度
三、牛客网提供的类框架
//length为牛客系统规定字符串输出的最大长度,固定为一个常数 class Solution { public: void replaceSpace(char *str,int length) { } };
四、解题思路
分两步第一:先查找字符数组中有多少个空格,假设有n个空格。增加替换后数组的长度,因为一个空格用“%20”三个字符去替换,所以每个空格就会是数组增加2ge位置。
第二:字符数组从后面开始查找,如果遇到空格就使用“0”“2”“%”去替换,否则位置直接后移。
五、代码
//length为牛客系统规定字符串输出的最大长度,固定为一个常数 class Solution { public: void replaceSpace(char *str,int length) { int newLength = length; for(int i = 0; i < length; i++) { if(str[i] == ' ') newLength += 2; } int newIndex = newLength - 1; for(int i = length - 1; i >= 0; i--) { if(str[i] == ' ') { str[newIndex--] = '0'; str[newIndex--] = '2'; str[newIndex--] = '%'; } else { str[newIndex--] = str[i]; } } } };
相关文章推荐
- Window下开发React-Native Android步骤
- html5默认情况下图片底部会有3-5px边距解决办法
- jquery中的cookie使用
- js 闭包的理解
- React Native 环境搭建
- JSON 被转义的字符引发BUG问题
- 移动端jQuery修正Web页面滑动时div问题的两则实例
- JS学习20(高级技巧)
- JQuery中的基本筛选选择器
- 再谈json
- 【JavaScript】跨源资源共享CORS和其他跨域技术(Comet、JSONP、SSE、Web Sockets)
- JS中Null与Undefined的区别
- 编译caffe的dll库
- css position属性
- JSON.parse()和JSON.stringify()使用介绍
- JSON工具类总结
- 使用jQuery插件flexigrid搭建项目框架
- Javascript 汉字转拼音
- jQuery增加和删除表格项目及实现表格项目排序的方法
- 让Jackson JSON生成的数据包含的中文以unicode方式编码