题目:49. 字母异位词分组
思路:借助哈希表。
字母异位词包含的单词一定是一致的,所以,把排序好的字符作为key,value是列表,存储字母异位的单词。
代码:
class Solution {
public List<List<String>> groupAnagrams(String[] strs) {
Map<String, List<String>> map = new HashMap<>();
for (String s : strs) {
char[] array = s.toCharArray();
Arrays.sort(array);
String key = new String(array);
List<String> value = map.getOrDefault(key, new ArrayList<String>());
value.add(s);
map.put(key, value);
}
return new ArrayList<List<String>>(map.values());
}
}