首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

算法-字符串替换空格

题目: 实现一个函数,把字符串中的每一个空格替换成”%20”。例如输入”We are happy.”,则输出”We%20are%20happy.”。...解题思路: 首先我们需要先想清楚一点,函数就要求输出替换后的结果,没有说是在原数据上替换,还是可以申请内存,创建一个新的字符串?...后者可以让问题变得简单,用比较直接的方式就可以实现一个时间复杂度为O(n)的代码,首先我们先遍历一遍字符串,找到到底有多少个空格以计算出替换后的长度,在上面的例子中,替换前是14,替换后是18,创建一个长度为...18的数组,然后我们只要在从头遍历一次原字符串,没有出现空格就直接复制原字符串的内容,出现空格了就写入”%20”: ?...用直接修改原数据的方法,从后向前替换空格!就酱: ? 这种方法的话,计算替换后的长度就有了一个新的作用,它告诉我们原数据中最后一位放在新数据的哪一位。

2.4K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    字符串——剑指 Offer 05. 替换空格

    替换空格 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 2 题目示例 示例 1: 输入:s = “We are happy.”...encodeURIComponent split/join 亦或者直接暴破求解等等… 但是我们清楚,这些肯定都不是被考察的目的,我们需要做的,就是如何在手动实现的过程中,尽量的减少复杂度!...建立字符数组地长度为s的长度的3倍,这样可保证字符数组可以容纳所有替换后的字符。...获得s 的长度 1ength 创建字符数组array,其长度为1ength * 3 初始化size为0,size表示替换后的字符串的长度 从左到右遍历字符串s 获得s的当前字符c 如果字符c是空格...c,并将size的值加1 遍历结束之后,size的值等于替换后的字符串的长度,从array 的前size个字符创建新字符串,并返回新字符串 复杂性分析 时间复杂度:O(n)O(n)。

    25320

    正则替换 UEditor pre 中的 nbsp 空格 html 标签

    今天在复制粘贴自己博客上的代码时发现,有的代码竟然无法执行!(pbootcms 的 if 语句) (???问号脸) 我代码有 BUG?我复制粘贴的姿势不对?我……?...仔细 F12 查看了一下,发现百度编辑器在使用 pre 代码区块时,会把空格自动换成空格占位符 “ ”( 包括 '' 这些符号都会被转义 ),在复制代码到本地编辑器的时候出现了“我没弄懂的问题...”(这地方有点意思,pb 的 php 代码没有相关转义符的声明,然后 if 语句不给解析,算是个小 bug),导致复制的文本 sublime 不认,直接当掉,后端不解析。...但又一个问题来了,改完编辑器的文件后,虽然以后再发文章不用担心转义的问题,但是需要把已经发表的文章去掉转义,重新编辑一遍,非常的麻烦,所有我这里直接在前端用正则表达式 + replace 把  ...替换成了空白。

    4K40

    js替换html中的字符串,js怎么替换字符串?

    大家好,又见面了,我是你们的朋友全栈君。 在js中,可以使用str.replace()方法来替换字符串。...replace()方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串;然后返回一个新的字符串。...它将在 stringObject 中查找与 regexp 相匹配的子字符串,然后用 replacement 来替换这些子串。...如果它是字符串,那么每个匹配都将由字符串替换。但是 replacement 中的 $ 字符具有特定的含义。如下表所示,它说明从模式匹配得到的字符串将用于替换。...”).className; /*(^|\\s)表示匹配字符串开头或字符串前面的空格,(\\s|$)表示匹配字符串结尾或字符串后面的空格*/ var newClassName = classname.replace

    23.5K20

    Java中替换字符串的方法

    Java中替换字符串可以用replace和replaceAll这两种,区别是, 1. replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence...即字符串序列的意思,说白了就是字符串的意思)。...2. replaceAll的参数是regex或者char,即基于正则表达式的替换,例如,可以通过replaceAll("\\d", "*")将一个字符串所有的数字字符都换成星号,相同点是都是全部替换,即将源字符串中的某一字符或字符串全部换成指定的字符或字符串...如果只想替换第一次出现的,可以使用replaceFirst(),这个方法也是基于正则表达式的替换,但与replaceAll()不同的是,只替换第一次出现的字符串。...另外,如果replaceAll()和replaceFirst()所用的参数据不是基于正则表达式的,则与replace()替换字符串的效果是一样的,即这两者也支持字符串的操作。

    5.7K30

    Oracle中的NULL、’’(空字符串)以及’_’(空格)

    本文首发于 http://youngzy.com/ 在Oracle中使用 null,''(空字符串),'_'(空格)时,有没有遇到问题?产生疑惑?...null和’’(空字符串)是一个意思 注: 为了便于区分空字符串和空格,下面的示例均以 _ 代表空格 举个例子: 1 --建表 2 create table tbl_a...进一步验证: select nvl(col_a, ‘a’) from tbl_a; 结果: NVL(COL_A,’A’) 1 2 a 3 a 原来,在Oracle中,null和’’(空字符串)是一个意思...---- 分析函数与NULL 在使用AVG,MAX,SUM,COUNT等函数时,为NULL的纪录会被忽略。...) from tbl_a; -- 结果为 2 ,NULL的纪录行忽略掉了 2 select MAX(col_b) from tbl_a; -- 结果为 3 3 select SUM(col_b) from

    3.4K10

    每日一题《剑指offer》字符串篇之替换空格

    今日题目链接:替换空格 替换空格 难度:简单 描述 请实现一个函数,将一个字符串s中的每个空格替换成“%20”。...例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。...数据范围 数据范围:0≤len(s)≤1000 举例 解题思路 对于这个题目,我们首先想到原来的一个空格替换为三个字符,字符串长度会增加,因此,存在以下两种不同的情况:(1)允许创建新的字符串来完成替换...(2)不允许创建新的字符串,在原地完成替换。 第一种情况比较简单。对于第二种情况,有以下两种解法: 方法一:从头到尾遍历字符串,当遇到空格时,直接利用String类的方法将空格替换成"%20"。...时间复杂度为O(n^2) 方法二:申请一个临时数组,然后再遍历这个字符串的每个字符,如果不是空格就把遍历的字符添加到临时数组中,如果是空格就添加3个字符'%','2','0'分别到临时数组中,最后再把临时数组转化为字符串即可

    20330
    领券