字母异位词分组

给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母通常恰好只用一次。   示例 1: 输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"] 输出: [["bat"],["nat","tan"],["ate","eat","tea"]]


// 排序归类
func groupAnagrams(strs []string) [][]string {
    groupHash := make(map[string][]string)
    for _,str := range strs {
        key := sortStr(str)
        groupHash[key] = append(groupHash[key], str)
    }
    res := make([][]string, 0)
    for _,v := range groupHash {
        res = append(res, v)
    }
    return res 
}
func sortStr(str string) string {
    s := strings.Split(str, "")
    sort.Strings(s)
    return strings.Join(s, "")
}

Last updated

Was this helpful?