美文网首页
判断两个字符串是否互为变形词

判断两个字符串是否互为变形词

作者: 樱木夜访流川枫 | 来源:发表于2018-12-07 23:30 被阅读0次

题目

给定两个字符串str1和str2,如果str1和str2中出现的字符种类一样且每种字符出现的次数也一样,那么str1和str2互为变形词。

举例

str1="123",str2="231",返回true。

str1="123",str2="2331",返回false。

实现方法

此题的两个字符串种类和次数都一样,只有顺序不一样,那么可以使用一个数组记录第一个字符串每个字母的出现频率次数,这样在第二个字符串中遍历每个字符,从数组中挨个减去,如果数组最后为空了,说明两个字符互为变形词。

对于数组的选择,可以利用字符的ASCII码值。

工具方法

1 Array.prototype.fill()
2 String.prototype.charCodeAt(0)

代码实现

  const isDeformation = (str1, str2) => {
    const len1 = str1.length, len2 = str2.length
     
    if (typeof str1 !== 'string' || typeof str1 !== 'string') {
       return false
    }

    if (len1 !== len2) {
       return false
    }

    const arr = new Array(256)
    arr.fill(0)
    const str1ToCharArray = str1.split('')
    const str2ToCharArray = str2.split('')

    for (let i = 0; i < len1; i++) {
      const curCharCodeAt = str1ToCharArray[i].charCodeAt(0)
      arr[curCharCodeAt]++
    }

    for (let i = 0; i< len2; i++) {
      const curCharCodeAt = str2ToCharArray[i].charCodeAt(0)
      arr[curCharCodeAt]--

      if (arr[curCharCodeAt] < 0) {
        return false
      }
    }

    return true
  }

相关文章

  • String

    判断两个字符串是否互为变形词 time = n(字符串长度), space = M(字符种类数)如果字符种类很多,...

  • 字符串类型面试题目总结

    字符串系列题目一览: 1.t1是否有与t2树拓扑结构相同的子树2.判断两个字符串是否互为变形词?3.判断两个字符串...

  • 每日两道算法题 - 字母异味词判断

    问题 给定两个字符串,判断两个字符串是否互为异味词异味词: 两个字符串中字符出现的次数相同,则互为异味词 思路 1...

  • 判断两个字符串是否互为变形词

    题目 给定两个字符串str1和str2,如果str1和str2中出现的字符种类一样且每种字符出现的次数也一样,那么...

  • Cracking the Interview - Strings

    Making Anagram Alice最近开始研究密码学,她发现变形词非常有用。两个字符串互为变形词,如果它们具...

  • 2016.9.8 AM 课堂笔记 Shell 脚本

    16.字符串运算符 = :判断两个字符串是否相等 != :判断两个字符串不相等-z :判断字符串长度是否为0,为0...

  • 算法(11)互为变形词

    描述对于两个字符串A和B,如果A和B中出现的字符种类相同且每种字符出现的次数相同,则A和B互为变形词,请设计一个高...

  • 3_3变形词

    对于两个字符串A和B,如果A和B中出现的字符种类相同且每种字符出现的次数相同,则A和B互为变形词,请设计一个高效算...

  • 1.【Java/Python】判断字符串是否为变位词

    【题目】 写一个函数判断两个字符串是否是变位词。 【分析】 变位词(anagrams)指的是组成两个单词的字符相同...

  • Linux的第三天

    字符串运算符 =:判断两个字符串是否相等 !=:判断两个字符串不等 -z:判断字符串长度为0 【图1】 str:判...

网友评论

      本文标题:判断两个字符串是否互为变形词

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