leetcode每日一题(2)——剑指 Offer 05. 替换空格

题目描述

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

示例 1:

输入:s = “We are happy.”
输出:“We%20are%20happy.”

方法一:利用JS字符串方法replace和正则表达式结合

replace方法能够将被替换字符第一次出现的位置替换成想要的字符(不限长度),使用方法如下:

str = "Please visit Microsoft!";
var n = str.replace("MICROSOFT", "W3School");

它与正则表达式g(全局搜索)相结合可以全局替换:

str = "Please visit Microsoft and Microsoft!";
var n = str.replace(/Microsoft/g, "W3School");

代码实现

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

方法二:双指针法(遍历法)

利用读指针遍历原字符串元素,写指针在新建的数组元素内写入需要的元素(原字符串元素or“%20”)
leetcode每日一题(2)——剑指 Offer 05. 替换空格_第1张图片

代码实现

var replaceSpace = function(s) {
    var t = new Array;
    for(let i=0;i<s.length;i++){
        if(s[i]==' '){
            t.push('%20');
        }
        else{
            t.push(s[i]);
        }
    }
    return t.join("");
};

你可能感兴趣的:(leetcode)