替换空格 ——《剑指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》相关推荐

  1. 剑指Offer 替换空格

    题目描述 请实现一个函数,将一个字符串中的空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 思路: 替换空 ...

  2. [剑指Offer]替换空格

    今天看题的时候,遇到一个替换空格的题目,分析一下哈. 题目要求:把字符串中的每个空格替换成"%20".例如输入"we are happy",则输出"w ...

  3. python剑指offer替换空格_《剑指offer》2-替换空格【Java+Python】

    替换空格 1. 题目描述 请实现一个函数,将一个字符串中的空格替换成"%20". 2. 示例 例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%2 ...

  4. python剑指offer替换空格_迷人的算法-剑指offer面试题5:替换空格

    题目:请实现一个函数,把字符串中的每个空格替换成"%20". 例如,输入"We are happy.",则输出"We%20are%20happy.&q ...

  5. [剑指offer] 替换空格

    题目描述 请实现一个函数,将一个字符串中的空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 刚开始用rep ...

  6. python剑指offer替换空格_02_替换空格【python】

    1.题目描述 请实现一个函数,将一个字符串中的每个空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 2.思 ...

  7. 剑指offer 替换空格

    题目描述 请实现一个函数,将一个字符串中的空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. java  解 ...

  8. python剑指offer替换空格_《剑指Offer》字符串 替换空格

    //str.replace(char oldChar,char newChar);用字符newChar替换oldChar;返回一个新的字符串 public class Solution { publi ...

  9. 剑指Offer替换空格问题

    1.题目描述 请实现一个函数,将一个字符串中的每个空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 2.代 ...

  10. 【模拟遍历】剑指offer:替换空格

    请实现一个函数,将一个字符串s中的每个空格替换成"%20". 例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 定义res,遍历 ...

最新文章

  1. 一条sql导致数据库整体性能下降的诊断和解决的全过程
  2. 赠书:一本书揭开 Spring Boot 技术内幕
  3. java jpa注解哪个包好,Spring Data JPA 中常用注解详解
  4. 计算机应用基础0006 19秋在线作业2,川大《计算机应用基础0006》13春在线作业2
  5. 通过nginx在window下部署项目
  6. 1.8 编程基础之多维数组 11 图像旋转 4分 python
  7. 日常生活开支记账明细_深圳公司如何记账报税代理记账报税的流程以及所需的资料...
  8. SQLSERVER聚集索引的整理(重建)的必要性测试
  9. unix设置线程优先级-转
  10. 几个常用的文本处理shell 命令:find、grep、sort、uniq、sed、awk
  11. android自定义wifi列表,Android开发之Wifi基础教程
  12. Win10企业版安装应用商店
  13. 职称计算机 frontpage 2003,计算机职称考试FrontPage2003考试大纲
  14. c++STL库最详细介绍(保姆级教学)
  15. 综合项目之闪讯破解(二)之 如何用C++建立PPPOE连接
  16. Python 实现集成经验模态分解(EEMD)
  17. 英特尔核显驱动hd630_英特尔首款独显Xe Max 评测出炉:低于移动端 GTX 1050 Ti
  18. oracle ddl大全,[数据库]Oracle_DDL
  19. 使用RecyclerView实现列表展开动画
  20. 量子技术到底是什么?

热门文章

  1. 使用pandas和xlwt,xlrd结合操作excel实现自动化
  2. php如何去重,php如何去除重复数据
  3. SEO培训联盟排名掉的原因:宋星博客?
  4. 操作系统--01计算机系统概述
  5. Excel 里筛选手机号码所属运营商
  6. Django - 应用及分布式路由
  7. 树的遍历顺序 - dfs序|欧拉序|dfn序(备忘)
  8. 安装Pytorch后torch.cuda.is_available()返回False问题解决
  9. 【经验总结】keil报错:declaration may not appear after executable statement in block···
  10. 北航2017级软件学院算法第一次上机题解