题目

解题思路
- 如果两个数组长度不一样直接返回false
- 创建一个map,用来存储每个字符出现的次数,存为key值
- s字符串出现一次value就+1
- t字符串出现一次value就-1
- 遍历完成后检查每个字符串的value是否为0,如果有非0的key就说明存在字符出现的次数不一样返回false
JavaScript代码
var isAnagram = function(s, t) {
if (s.length !== t.length) {
return false
}
const map = new Map()
for (let i = 0
if (map.has(s[i])) {
map.set(s[i], map.get(s[i]) + 1)
} else {
map.set(s[i], 1)
}
if (map.has(t[i])) {
map.set(t[i], map.get(t[i]) - 1)
} else {
map.set(t[i], -1)
}
}
for (const letter of map) {
// map不能通过forEach遍历
if (letter[1] !== 0) {
return false
}
}
return true
}