请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = "We are happy."
输出:"We%20are%20happy."
限制:
0 <= s 的长度 <= 10000
我的算法实现:
/**
* @param {string} s
* @return {string}
*/
var replaceSpace = function(s) {
let str = "";
for (let i = 0; i < s.length; i ++) {
if (s.charAt(i) === " ") {
str += "%20"
} else {
str += s.charAt(i);
}
}
return str;
};
这个库太简单了,而且也不能在这个基础上优化,因为每一个字符都有可能是空格;虽然如此,写法就可以优化的,比如说我们可以利用 leetcode 提供的方法 replace ,里面使用正则即可。
我写的时候没有想太多,直接就写了,然后一看讲解,发现有人这样干的:
/**
* @param {string} s
* @return {string}
*/
var replaceSpace = function(s) {
return s.replace(/\s/g,"%20");
};
作者:xing-he-6b
链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof/solution/zheng-ze-by-xing-he-6b-ldvp/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
天天做简单的,迟早都要被我做光,那个时候就不得不做难的了。
来源:力扣(LeetCode)