题目链接
代码
func isAnagram(s string, t string) bool {
// 如果s串跟t串的长度不等,则一定为false
if len(s) != len(t) {
return false
}
// 创建map统计s串每个字符出现的个数
cnt := map[rune]int{}
for _, val :=range s {
cnt[val]++
}
// 枚举t串,去掉t串中每个字符出现的次数
for _, val := range t{
cnt[val]--
// 如果cnt中某个字符的个数为0了,说明t串中的该字符跟s串中的该字符抵消了,就把cnt中的该字符统计去掉
if cnt[val] == 0 {
delete(cnt, val)
}
}
// 返回cnt的长度是否为0,如果为0,说明两个字符串完全相等
return len(cnt) == 0
}