美文网首页
剑指Offer(二):替换空格

剑指Offer(二):替换空格

作者: 八格哚 | 来源:发表于2021-01-08 11:55 被阅读0次

题目:请实现一个函数,讲一个字符串中的空格替换成%20。例如字符串为Hello World,经过替换后的字符串为Hello%20World。

解:实现1-直接遍历然后替换,时间复杂度为O(N^2);
实现2- 双指针时间复杂度为O(N);

//实现1 正则
function replaceSpace(str) {
  //直接正则replace所有空格
  return str.replace(/\s/g, "%20");

  //先过滤去除字符串前后可能有的空格,再用正则去replace所有空格
  // return str.trim().replace(/\s/g, "%20");
}

//实现2 双指针
function replaceSpace2(str) {
  if (!str || !str.length) {
    return "";
  }
  let chs = [];
  // i:新字符串的下标、j:原字符串的下标
  for (let i = 0, j = 0; j < str.length; j++) {
    if (str[j] === " ") {
      chs[i++] = "%";
      chs[i++] = "2";
      chs[i++] = "0";
    } else {
      chs[i++] = str[j];
    }
  }
  return chs.join("");
}

相关文章

  • 剑指offer(二) 替换空格

    写在前面:为了增长一下自己的数据结构能力,也为了面试准备,准备将剑指Offer做一下,并与各位分享,希望各位可以对...

  • 剑指Offer(二):替换空格

    题目:请实现一个函数,讲一个字符串中的空格替换成%20。例如字符串为Hello World,经过替换后的字符串为H...

  • 剑指Offer.C++.code1-5

    剑指offer 代码实现 C++剑指Offer 1. 二维数组中的查找 2. 替换空格 3. 从尾到头打印链表 4...

  • [剑指offer] 替换空格

    本文首发于我的个人博客:尾尾部落 题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符...

  • 剑指offer - 替换空格

    题目 请实现一个函数,把字符串中的每个空格都换成%20。例如:输入"We are happy",则输出“We%20...

  • 《剑指offer》替换空格

    问题: 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换...

  • 剑指offer:替换空格

    题目分析 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替...

  • 剑指offer 替换空格

    题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替...

  • [剑指Offer]替换空格

    本文首发于我的个人博客Suixin’s Blog原文: https://suixinblog.cn/2019/02...

  • 【剑指offer】- 替换空格

    1、题目描述 请实现一个函数,把字符串中的每个空格替换成"%20"。 你可以假定输入字符串的长度最大是1000。注...

网友评论

      本文标题:剑指Offer(二):替换空格

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