原题:49. 字母异位词分组
题解:官方题解,排序、计数
代码:
func GroupAnagrams(strs []string) [][]string {
res := map[string][]string{}
for _, str := range strs {
s := []byte(str)
sort.Slice(s, func(i, j int) bool { return s[i] < s[j] })
sortedStr := string(s)
res[sortedStr] = append(res[sortedStr], str)
}
ans := make([][]string, 0, len(res))
for _, v := range res {
ans = append(ans, v)
}
return ans
}
本文介绍了如何使用Go语言编写一个函数,通过排序和计数方法将给定字符串数组中的字母异位词分组。通过字节切片对字符串进行排序,然后根据排序后的形式存储在map中,最后整理成二维数组返回。
424

被折叠的 条评论
为什么被折叠?



