constisAnagram = (str1, str2) => { if (str1.length !== str2.length) { returnfalse; } let str2Copy = str2; for (let i = 0; i < str1.length; i++) { if (!str2Copy.includes(str1[i])) { returnfalse; } else { const str2CopyArr = [...str2Copy]; str2CopyArr.splice(str2Copy.indexOf(str1[i]), 1); str2Copy = str2CopyArr.join('') } } return str2Copy.length === 0 };
实现2
在LeetCode上又遇到了这道题,看了大神的代码,自愧不如。
想要执行用时短,要避免类型转换,所以直接使用了replace方法,这样就可以实现同样字母的替换
1 2 3 4 5 6 7 8
var isAnagram = function (s, t) { while (s !== t && s.length === t.length) { const reg = newRegExp(s[0], 'g'); s = s.replace(reg, ''); t = t.replace(reg, ''); } return s === t };