美文网首页
8.在s2中出现的字符从s1中删除

8.在s2中出现的字符从s1中删除

作者: percykuang | 来源:发表于2019-10-18 22:46 被阅读0次

    题目

    给定两个字符串s1,s2,在s2中出现的字符从s1中删除
    例如:s1: 'abc' 
         s2: 'cde'  
    输出:s1: 'ad'
    

    code1(正则替换)

    function deleteCharInS1(s1, s2) {
      for (let i = 0; i < s2.length; i++) {
        const reg = new RegExp(s2[i], 'g')
        // 用正则实现全局替换
        if (reg.test(s1))  s1 = s1.replace(reg, '')
      }
      return s1
    }
    

    code2(哈希表查询)

    function deleteCharInS1(s1, s2) {
      const map = {}
      for (let i = 0; i < s2.length; i++) {
        if (!map[s2[i]]) {
          map[s2[i]]= true
        }
      }
      let newStr = ''
      for (let i = 0; i < s1.length; i++) {
        if (!map[s1[i]]) {
          newStr += s1[i]
        }
      }
      return newStr
    }
    

    相关文章

      网友评论

          本文标题:8.在s2中出现的字符从s1中删除

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