如题:

请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之
后的字符串为We%20Are%20Happy。

这道题难度不大,替换空格,字符串长度边长,需要知道变多长,这时候需要统计空格个数。知道最终字符串长度后,将源字符串从后往前复制到新字符串对应位置即可。编码的时候需要检查输入参数是否合法。

//计算str长度,然后统计空格个数,计算变换后的字符串长度,重新分配空间
class Solution {
public:void replaceSpace(char *str,int length) {int spaceNums = 0, i = 0, newLen;char *pChar = str;//特殊情况判断if (!str || length < 1)return ;//统计空格个数while (*pChar != '\0'){if (*pChar == ' ')spaceNums++;pChar++;}//计算新长度newLen = strlen(str) + 2 *spaceNums;cout<<"hi"<<endl;if (!spaceNums || newLen > length)return ;i = strlen(str) - 1;str[newLen--] = '\0';while (i >= 0){if (str[i] == ' '){str[newLen--] = '0';str[newLen--] = '2';str[newLen--] = '%';}else{str[newLen--] = str[i];}i--;}return ;}
};

=============================================================================================

Linux应用程序、内核、驱动、后台开发交流讨论群(745510310),感兴趣的同学可以加群讨论、交流、资料查找等,前进的道路上,你不是一个人奥^_^。

《剑指offer》c++版本 5.替换空格相关推荐

  1. 剑指offer面试题:替换空格

    https://blog.csdn.net/yanxiaolx/article/details/52235212 题目:请实现一个函数,把字符串中的每个空格替换成"%20".例如输 ...

  2. 剑指Offer - 面试题5. 替换空格(字符串)

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

  3. 剑指offer面试题05. 替换空格

    题目描述 请实现一个函数,把字符串 s 中的每个空格替换成"%20". 思路 详见链接 在 Python 和 Java 等语言中,字符串都被设计成不可变的类型,即无法直接修改字符串 ...

  4. 剑指offer习题详解——替换空格(全网最全详细解答,多种语言,多种解法)

    题目描述: 请实现一个函数,把字符串 s 中的每个空格替换成"%20". 示例 1: 输入:s = "We are happy." 输出:"We%20 ...

  5. 剑指offer最新版_剑指Offer——Java版本(持续更新)

    0 前言 邻近校招,算法要命!!! 本文为研究剑指Offer过程中的笔记,整理出主要思路以及Java版本题解,以便记忆和复习. 参考整理来自<剑指Offer 第二版>. 特别注意,对每道题 ...

  6. leetcode刷题之 剑指offe 面试题05. 替换空格 犯傻记录

    2020.3.6 刷到剑指offer第5题,题目描述如下: 题目本身没啥好说的,就是先统计空格的个数,然后把长度增加,用两个指针从后往前插. 采用m = s.count(' ',0,len(s)-1) ...

  7. 剑指offer二:字符串中的空格替换

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

  8. 剑指offer之把字符串里面空格替换成百分之20[时间复杂度是O(n)]

    1 问题 把字符串里面空格替换成20% 要求:时间复杂度是O(n) 2 思路 比如我们字符串ab cd ef,我们先计算出新字符串需要的长度,我们分别搞2个指针指向老的和新的字符串的尾巴,然后老字符串 ...

  9. 【剑指offer-Java版】04替换空格

    给定字符串将其中的空格替换掉 例如:we are happy -> we%20are%20happy 也就是字符数组中的一个空格字符被替换成了三个字符 由于给定数组,就可以确定替换后每个字符的位 ...

  10. 【剑指Offer面试题】 九度OJ1510:替换空格

    c/c++ 中的字符串以"\0"作为结尾符.这样每一个字符串都有一个额外字符的开销. 以下代码将造成内存越界. char str[10]; strcpy(str, "01 ...

最新文章

  1. R删除冗余行数据基于dplyr包
  2. idea配置jfinal_Jfinal 项目在idea上创建
  3. 网页html好学嘛,javascript好学么?
  4. 【转】C# 操作系统防火墙
  5. SAP OData 服务在 gateway 层出错,应该如何处理?通过一个错误消息 Query XXX is invalid or contains errors 来举例说明
  6. 文本字段和表单设计-UI组件系列
  7. python 两个字典的合并 update
  8. jmeter mysql数据导出_Jmeter连接mysql
  9. java随机数生成三位数_Java编写一程序编写一程序,实现下面功能.(1)随机产生200个三位的正整数,按每行10个数输出.(2)统计其中偶数和...
  10. 有序表的最小和(element)
  11. C语言库函数的哈希表使用方法
  12. ADB工具安装及常用命令
  13. 并发编程、并行、多线程、锁、同步、异步、多线程、单线程、阻塞io、非阻塞io
  14. 互金舆情精选-2019/1/31
  15. 2021年全国职业院校技能大赛(中职组)网络安全竞赛试题(3)(总分100分)
  16. 公司订餐系统Java
  17. Flutter 移动光标 关闭弹出的键盘
  18. linux脚本第一行是什么,完全搞懂shell脚本第一行:#!/bin/bash的含义
  19. 华为od试题java_华为od社招一面凉经
  20. c++实现运动目标的追踪

热门文章

  1. 如何判断一个点是否在一个多边形内?
  2. 解决J2EE系统应用性能问题常用方法
  3. python内置json模块的作用_json和simplejson Python模块之间有什么区别?
  4. 神经网络波动方程∂f(x)/ ∂x=f(-x)f(x)的另一组玻色子解
  5. lwip 开发 sntp 与 tcp 不能同时工作的奇怪问题
  6. 【arduino】pro mini程序下载器接线方法,arduino pro mini 与nodemcu通信方案
  7. 12.流水线设计方式
  8. 设置elf文件链接库的路径
  9. C#中文件和byte[]互换问题
  10. AutoLayout全解