题目描述

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

代码:

class Solution {
public:
void replaceSpace(char *str,int length) {
// 先统计需要替换的空格个数
int cnt = 0;
for (size_t index = 0; index < length; index++) {
if (str[index] == ' ') {
cnt++;
}
} // 替换后的字符串长度
int new_length = length + 2*cnt;
// 从右往左移动字符
int index_new = new_length - 1, index_old = length-1;
while(index_new>=0 && index_old>=0) {
if (str[index_old] == ' ') {
str[index_new--] = '0';
str[index_new--] = '2';
str[index_new--] = '%';
index_old--;
} else {
str[index_new--] = str[index_old--];
}
}
}
};

思路就是先遍历一遍,确定替换之后的字符串长度,然后再从右往左遍历字符串,按位移动,遇到空格,就连续插入三个字符.

8-剑指offer: 替换空格的更多相关文章

  1. 剑指Offer 替换空格

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

  2. 剑指Offer——替换空格

    题目描述: 请实现一个函数,将一个字符串中的空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 分析: 如果从前往后替换空格,那 ...

  3. 剑指offer —— 替换空格

    1.问题:请实现一个函数,将一个字符串中的空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 2.思路:可能首先想到的应该就是 ...

  4. 用js刷剑指offer(替换空格)

    题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 牛客网链接 js代码 func ...

  5. 剑指offer替换空格

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

  6. 【算法训练营day8】LeetCode344. 反转字符串 LeetCode541. 反转字符串II 剑指Offer05. 替换空格 LeetCode151. 翻转字符串里的单词 剑指Offer58-II. 左旋转字符串

    [算法训练营day8]LeetCode344. 反转字符串 LeetCode541. 反转字符串II 剑指Offer05. 替换空格 LeetCode151. 翻转字符串里的单词 剑指Offer58- ...

  7. 剑指offer——替换字符串

    总结:先计算出总共有多少空格,count++:然后从后往前遍历,每遇到一个空格,count--:       替换空格 参与人数:2119时间限制:1秒空间限制:32768K 通过比例:20.23% ...

  8. 剑指offer 替换字符串中的空格

    void replaceSpace(char *str,int length) { ) return; ; ; ; while(str[originlen]!='\0') { if(str[origi ...

  9. 剑指Offer-2.替换空格(C++/Java)

    题目: 请实现一个函数,将一个字符串中的每个空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 分析: 题意明确,就是将一个字符 ...

  10. 剑指Offer_5_替换空格

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

随机推荐

  1. 使用flask搭建微信公众号:完成token的验证

    上一篇文章讨论了官方给的例子验证token失败的解决方法:微信公众号token验证失败 想了一下,还是决定不适用web.py这个框架.因为搜了一下他的中文文档不多,学起来可能会有点麻烦.而且看着他没有 ...

  2. Ant风格路径表达式

    ANT通配符有三种: ? 匹配任何单字符 * 匹配0或者任意数量的字符 ** 匹配0或者更多的目录 举例: /project/*.a 匹配项目根路径下所有在project路径下的.a文件 /proje ...

  3. 解决VMware15 centos7 桥接模式ssh突然不能访问的问题

    因为想让虚拟机拥有自己的局域网IP, 所以用了桥接, 这样方便测试. 问题来了: 1.ssh突然连接不上了,虚拟机上的项目也无法访问了. 2.虚拟机照常联网,与主机互ping什么的也都没问题,以前从来 ...

  4. 使用Sourcetree(for windows)建立github同步仓库

    回顾Linux作业中用命令行的方式管理本地与远程仓库的过程,原理图如下: 与之前本质相同,但是使用GUI的github管理工具将更为便捷,Sourcetree就是其中之一 1.在Windows下安装g ...

  5. spring cloud启动zipkin,报错maven依赖jar包冲突 Class path contains multiple SLF4J bindings

    项目启动报错: Connected to the target VM, address: '127.0.0.1:59412', transport: 'socket' SLF4J: Class pat ...

  6. iview 组件的额外传参问题记录

    在使用iview组件的时候,经常遇到额外传参的问题,一般情况下可以使用以下2种方法都可以解决: 1.直接在方法后面输入参数,有的时候借用$event获取当前dom信息,在某些特定情况下可以将参数绑定在 ...

  7. spring context:component-scan

    <context:component-scan base-package="com.zhuguang.jack" <!-- 扫描的基本包路径 --> annota ...

  8. LCM Walk HDU - 5584

    A frog has just learned some number theory, and can't wait to show his ability to his girlfriend. No ...

  9. JAVAWeb入门之JSP基础知识

    也是到了考试周,很多课都结了,准备去学点新东西.随后就开始自学JAVAWeb. 要学习JAVAWeb,首先需下面的知识: a)      HTML/CSS/JS(前端页面),XML,JSON,vue ...

  10. XStream处理XML用法

    参考:https://www.yiibai.com/xstream/xstream_json.html 1.简介: XStream是一个简单的基于Java库,Java对象序列化到XML,反之亦然(即: ...