【算法之旅】空格替换

222 阅读1分钟

题干

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

解题

解题一、

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

解题二、

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

速度上都差不多。

时间复杂度都为O(n),由于js中的string类型是不可变的,所以空间复杂度无法降至O(1)