题目描述

请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
 
注意事项:
  《剑指offer》上的length为str的最大长度空间
  而牛客上的lenght为str的长度,包括了'\0'
  
由于str为数组指针,故只能在原数组上修改,选用后替换法
 
 class Solution {
public:
void replaceSpace(char *str, int length) {
if (str == nullptr || length <= )
return;
int strLen = , spaceNum = , newLenght = ;
for (strLen = ; str[strLen] != '\0'; ++strLen)
if (str[strLen] == ' ')
spaceNum++;
newLenght = strLen + spaceNum * ;
for (int i = newLenght, j = strLen; i >= ; --j)
if (str[j] == ' ')
{
str[i--] = '';
str[i--] = '';
str[i--] = '%';
}
else
str[i--] = str[j];
}
};

剑指offer——03替换空格的更多相关文章

  1. 《剑指offer》替换空格

    本题来自<剑指offer> 替换空格 题目: 请实现一个函数,将一个字符串中的每个空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are% ...

  2. 菜鸟刷题路:剑指 Offer 05. 替换空格

    剑指 Offer 05. 替换空格 class Solution { public String replaceSpace(String s) { StringBuilder str = new St ...

  3. 代码随想录第八天 |344.反转字符串 、541. 反转字符串II、剑指Offer 05.替换空格 、151.翻转字符串里的单词 、剑指Offer58-II.左旋转字符串

    第一题344.反转字符串 编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 s 的形式给出. 不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用 O(1) 的额外空间解决这 ...

  4. 【Java】 剑指offer(4) 替换空格

    本文参考自<剑指offer>一书,代码采用Java语言.  更多:<剑指Offer>Java实现合集 题目 请实现一个函数,把字符串中的每个空格替换成"%20&quo ...

  5. Go语言实现:【剑指offer】替换空格

    该题目来源于牛客网<剑指offer>专题. 请实现一个函数,将一个字符串中的每个空格替换成"%20". 例如,当字符串为We Are Happy.则经过替换之后的字符串 ...

  6. 剑指offer:替换空格

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

  7. 剑指Offer 2. 替换空格 (字符串)

    题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 题目地址 https://ww ...

  8. 【剑指offer】替换空格

    一.题目: 请实现一个函数,将一个字符串中的空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 二.思路: Python代码,先 ...

  9. 剑指offer之 替换空格

    package Problem4; public class ReplaceBank { /* * 题目描述: 请实现一个函数,将字符串的每个空格替换为"%20". * 例如输入& ...

随机推荐

  1. Python_day01——变量

    变量 1.声明变量   name="钱成龙"  变量定义的规则: 变量名只能是 字母.数字或下划线的任意组合 变量名的第一个字符不能是数字 关键字不能声明为变量名 2.变量类型 整 ...

  2. jmeter之-图形监控

    一.安装 https://jmeter-plugins.org/downloads/old/ 下载JMeterPlugins-Standard-1.4.0(监听器-图形界面)和ServerAgent- ...

  3. 剑指offer第二版面试题7:二叉树的下一个节点(JAVA版本)

    题目:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回.注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针. 分析: 根据中序遍历的特点,要找到一个节点的下一个节点无非 ...

  4. CodeForces-1249C2-Good Numbers (hard version) -巧妙进制/暴力

    The only difference between easy and hard versions is the maximum value of n. You are given a positi ...

  5. PAT_A1124#Raffle for Weibo Followers

    Source: PAT A1124 Raffle for Weibo Followers (20 分) Description: John got a full mark on PAT. He was ...

  6. vue中beforeRouteEnter 执行的时机及运用的误区?

    beforeRouteEnter钩子 beforeRouteEnter (to, from, next) { console.log(this); //undefined,不能用this来获取vue实 ...

  7. 前端 css 进阶

    内容目录: 1.css盒子模型 2.浮动 float 3.溢出 overflow 4.定位 position 5. z-index 6.opacity 1.css盒子模型 margin:用来调节盒子与 ...

  8. 因kernel too old 而 centos6.8 升级内核

    因为docker运行centos 的时候,报错了,错误为kernel too old .我看了一下是因为os的内核不行了,需要升级下内核. 查看默认版本: uname -r 忘记截图了,内核大概是2. ...

  9. actionlib学习

    ROS中的服务service是一问一答的形式,你来查询了,我就返给你要的信息. action也有服务的概念,但是它不一样的地方是:不是一问一答,而多了一个反馈,它会不断反馈项目进度. 如navigat ...

  10. MySQL高可用配置(主从复制)

    主从复制包含两个步骤: 在 master 主服务器(组)上的设置,以及在 slave 从属服务器(组)上的设置. 环境: MASTER: 192.168.155.101SLAVE: 192.168.1 ...