欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

js实现兄弟字符串算法

程序员文章站 2022-03-07 18:23:25
1.首先判断是否都为字符串2.判断两者长度是否相等3.判断两者长度是否都为04.计算每个字符出现在各自字符串的次数5.比较两者字符个数是否相等6.判断一个字符串的元素是否都存在另外一个字符串中,并且出现次数相同function isBroStr(s1, s2) { if (typeof s1 !== 'string' || typeof s1 !== 'string') { return 0 } if (s1.length !== s2.length) {...

js兄弟字符串算法

1.首先判断是否都为字符串
2.判断两者长度是否相等
3.判断两者长度是否都为0
4.计算每个字符出现在各自字符串的次数
5.比较两者字符个数是否相等
6.判断一个字符串的元素是否都存在另外一个字符串中,并且出现次数相同

function isBroStr(s1, s2) {
   if (typeof s1 !== 'string' || typeof s1 !== 'string') {
       return 0
   }

   if (s1.length !== s2.length) {
       return 0
   }

   if (s1.length === 0 || s1.length === 0) {
       return 0
   }

   let res1 = {}
   let res2 = {}
   for (let i = 0; i < s1.length; i++) {
       if(res1[s1[i]]) {
           res1[s1[i]]++
       } else {
           res1[s1[i]] = 1
       }

       if(res2[s2[i]]) {
           res2[s2[i]]++
       } else {
           res2[s2[i]] = 1
       }
   }
   
   if (Object.keys(res1).length !== Object.keys(res2).length) {
       return 0
   }
   
   for (const key in res1) {
       if (!res2.hasOwnProperty(key) || res1[key] !== res2[key]) {
           return 0
       }
   }

   return 1
}

个人的一个思路和代码,如果不对,希望指出更正。0.0

本文地址:https://blog.csdn.net/qq_39866016/article/details/110236810