美文网首页
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