22 lines
389 B
Go
22 lines
389 B
Go
package q49
|
|
|
|
import "slices"
|
|
|
|
func groupAnagrams(strs []string) [][]string {
|
|
groups := map[string][]string{}
|
|
|
|
for i := range strs {
|
|
byt := []byte(strs[i])
|
|
slices.Sort(byt)
|
|
sorted := string(byt)
|
|
groups[sorted] = append(groups[sorted], strs[i])
|
|
}
|
|
|
|
ret := make([][]string, 0, len(groups))
|
|
for _, g := range groups {
|
|
ret = append(ret, g)
|
|
}
|
|
return ret
|
|
}
|
|
|
|
var _ = groupAnagrams
|