替换空格 ——《剑指offer》
替换空格 ——《剑指offer》
- 题目
- 解题思路
- 实现代码
- 易错分析
算法题动手编程,记录学习过程,解题思路
题目
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 热度指数:1603363
本题知识点: 字符串
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
解题思路
先扩容,即定义一个新字符串数组,两个指针,分别指向两个字符串数组的末尾,然后向前推,遇到空格就替换
实现代码
class Solution {public:
void replaceSpace(char *str,int length) {int count = 0;int l = strlen(str);//不包括‘\0’的长度for(int i=0; i<l; i++){if(str[i] == ' ')count++;}int l_add = l + count*2 ;while(count>0){if(str[l]!=' '){str[l_add] = str[l];l_add--;l--;}else{str[l_add] = '0';l_add--;str[l_add] = '2';l_add--;str[l_add] = '%';l_add--;l--;count--;//或者//str[l_add] = '0';//str[--l_add] = '2';//str[--l_add] = '%';//l_add--;//l--;//count--;}}}
};
运行时间:3ms
占用内存:376k
易错分析
int l = strlen(str);//不包括‘\0’的长度
还有理解- -l_add
替换空格 ——《剑指offer》相关推荐
- 剑指Offer 替换空格
题目描述 请实现一个函数,将一个字符串中的空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 思路: 替换空 ...
- [剑指Offer]替换空格
今天看题的时候,遇到一个替换空格的题目,分析一下哈. 题目要求:把字符串中的每个空格替换成"%20".例如输入"we are happy",则输出"w ...
- python剑指offer替换空格_《剑指offer》2-替换空格【Java+Python】
替换空格 1. 题目描述 请实现一个函数,将一个字符串中的空格替换成"%20". 2. 示例 例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%2 ...
- python剑指offer替换空格_迷人的算法-剑指offer面试题5:替换空格
题目:请实现一个函数,把字符串中的每个空格替换成"%20". 例如,输入"We are happy.",则输出"We%20are%20happy.&q ...
- [剑指offer] 替换空格
题目描述 请实现一个函数,将一个字符串中的空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 刚开始用rep ...
- python剑指offer替换空格_02_替换空格【python】
1.题目描述 请实现一个函数,将一个字符串中的每个空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 2.思 ...
- 剑指offer 替换空格
题目描述 请实现一个函数,将一个字符串中的空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. java 解 ...
- python剑指offer替换空格_《剑指Offer》字符串 替换空格
//str.replace(char oldChar,char newChar);用字符newChar替换oldChar;返回一个新的字符串 public class Solution { publi ...
- 剑指Offer替换空格问题
1.题目描述 请实现一个函数,将一个字符串中的每个空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 2.代 ...
- 【模拟遍历】剑指offer:替换空格
请实现一个函数,将一个字符串s中的每个空格替换成"%20". 例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 定义res,遍历 ...
最新文章
- 一条sql导致数据库整体性能下降的诊断和解决的全过程
- 赠书:一本书揭开 Spring Boot 技术内幕
- java jpa注解哪个包好,Spring Data JPA 中常用注解详解
- 计算机应用基础0006 19秋在线作业2,川大《计算机应用基础0006》13春在线作业2
- 通过nginx在window下部署项目
- 1.8 编程基础之多维数组 11 图像旋转 4分 python
- 日常生活开支记账明细_深圳公司如何记账报税代理记账报税的流程以及所需的资料...
- SQLSERVER聚集索引的整理(重建)的必要性测试
- unix设置线程优先级-转
- 几个常用的文本处理shell 命令:find、grep、sort、uniq、sed、awk
- android自定义wifi列表,Android开发之Wifi基础教程
- Win10企业版安装应用商店
- 职称计算机 frontpage 2003,计算机职称考试FrontPage2003考试大纲
- c++STL库最详细介绍(保姆级教学)
- 综合项目之闪讯破解(二)之 如何用C++建立PPPOE连接
- Python 实现集成经验模态分解(EEMD)
- 英特尔核显驱动hd630_英特尔首款独显Xe Max 评测出炉:低于移动端 GTX 1050 Ti
- oracle ddl大全,[数据库]Oracle_DDL
- 使用RecyclerView实现列表展开动画
- 量子技术到底是什么?
热门文章
- 使用pandas和xlwt,xlrd结合操作excel实现自动化
- php如何去重,php如何去除重复数据
- SEO培训联盟排名掉的原因:宋星博客?
- 操作系统--01计算机系统概述
- Excel 里筛选手机号码所属运营商
- Django - 应用及分布式路由
- 树的遍历顺序 - dfs序|欧拉序|dfn序(备忘)
- 安装Pytorch后torch.cuda.is_available()返回False问题解决
- 【经验总结】keil报错:declaration may not appear after executable statement in block···
- 北航2017级软件学院算法第一次上机题解