leetcode 剑指 Offer 05. 替换空格(每日计划)

96 阅读1分钟

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