【算法】替换空格

题目:请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例:

// 输入:s = "We are happy."
// 输出:"We%20are%20happy."

限制:0 <= s 的长度 <= 10000

自己实现
思路一、正则

自己第一个想到的就是使用正则去匹配,然后结合字符串的replace方法

var replaceSpace = function (s) {
    return s.replace(/\s/g,"%20");
};

这个解法也是看的别人的,我对正则这块不太懂,后续还需加强这方面
以上算法的时间复杂度和空间复杂度分析如下:

  • 时间复杂度:O(1)。
  • 空间复杂度:O(1)。
思路二、遍历

js的字符串也可以用for循环,可以遍历当前字符串,判断每一项是否是空格,不是则累加,是则替换成%20再累加

var replaceSpace = function(s) {
    let str = ''
    for(let i = 0;i < s.length;i++) {
        if(s[i] == ' '){
            str += '%20'
        }else {
            str += s[i]
        }
    }
    return str
};

效果如下


image.png
思路三 split+join

话不多说,直接看代码

var replaceSpace = function(s) {
      return s.split(" ").join("%20");
};

效果如下


image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为 We Are Happy.则...
    心谭阅读 147评论 0 1
  • 最近在准备面试的时候,特意的留意了一下算法,现在越来越多的公司在面试的时候,很看重算法能力。这篇文章,算是自己在阅...
    bigonelby阅读 556评论 0 0
  • 题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经...
    Jackwh_L阅读 129评论 0 0
  • 题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如,输入“We are happy.”,则输出“We...
    带带吴腾跃阅读 112评论 0 0
  • 替换空格 问题描述: 请实现一个函数,把字符串 s 中的每个空格替换成"%20" 解题思路 API 时间复杂度:O...
    iKangaroo阅读 99评论 0 0