难度:中等 题目来源:力扣(LeetCode) https://leetcode-cn.com/problems/group-anagrams
说明:
给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。
示例:
输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”],
输出:
[
     [“ate”,”eat”,”tea”],
     [“nat”,”tan”],
     [“bat”]
]
解法:
import ("sort""strings")func groupAnagrams(strs []string) [][]string {if len(strs) == 0 {return [][]string{}}ret, cache := make([][]string, 0, len(strs)), make(map[string][]string, len(strs))for _, value := range strs {arr := strings.Split(value, "")sort.Strings(arr)key := strings.Join(arr, "")cache[key] = append(cache[key], value)}for _, value := range cache {ret = append(ret, value)}return ret}
