题目是这样的:
我的思路是将其中一个字符串分割成数组,之后在另一个字符串中去对应删除数组的每一项,当执行到最后,说明就是同字母异序。
来看下代码:
const isAnagram = (str1, str2) => {
//长度不同肯定不是
if(str1.length!=str2.length){
return false
}
else{
let mid=str1.split("")
for (let i=0;i<mid.length;i++){
let j=str2.indexOf(mid[i])
if(j==-1){
return false;
}
else{
str2[j]=''//删除相对应的,防止影响下次寻找
}
}
return true;
}
}
照例看眼大神的
const isAnagram = (str1, str2) => str1.split('').sort().join('') === str2.split('').sort().join('');
解释一下,这个的思路是先分割在排序重新组合成字符串比较两个新字符串是否相等,属实厉害= =