美文网首页
【算法】替换空格

【算法】替换空格

作者: 大大大大大西瓜G | 来源:发表于2022-08-30 16:22 被阅读0次

    题目:请实现一个函数,把字符串 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

    相关文章

      网友评论

          本文标题:【算法】替换空格

          本文链接:https://www.haomeiwen.com/subject/frpdnrtx.html