使用数组记录当前遍历到的单词各字母数量,以该数组作为 hashmap 的 key 进行分组即可
func groupAnagrams(strs []string) [][]string {
hash := map[[26]int][]string{}
for _, str := range strs{
word := [26]int{}
for _, s := range str{
word[s - 'a'] += 1
}
hash[word] = append(hash[word], str)
}
res := [][]string{}
for _, v := range hash{
res = append(res, v)
}
return res
}