49. Group Anagrams

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution {

public List<List<String>> groupAnagrams(String[] strs) {
Map<String, List<String>> uniqueKeyToListMap = new HashMap<>();
for (String str : strs) {
char[] chars = str.toCharArray();
Arrays.sort(chars);
String uniqueKey = new String(chars);
uniqueKeyToListMap.computeIfAbsent(uniqueKey, k -> new ArrayList<>()).add(str);
}

return new ArrayList<>(uniqueKeyToListMap.values());
}

}

References

49. Group Anagrams
剑指 Offer II 033. 变位词组