2019年1月28日星期一

[LeetCode] 49. Group Anagrams

class Solution {
public List<List<String>> groupAnagrams(String[] strs) {
List<List<String>> result = new ArrayList<>();
Map<Character, Integer> characterMap;
Map<Map<Character, Integer>, List<String>> groupMap = new HashMap<>();
if (strs == null || strs.length == 0) {
return result;
}
for (String s : strs) {
characterMap = new HashMap<>();
for (Character c : s.toCharArray()) {
if (characterMap.get(c) == null) {
characterMap.put(c, 1);
} else {
characterMap.put(c, characterMap.get(c) + 1);
}
}
if (groupMap.get(characterMap) == null) {
groupMap.put(characterMap, new ArrayList<>());
}
groupMap.get(characterMap).add(s);
}
for (List<String> group : groupMap.values()) {
result.add(group);
}
return result;
}
}

没有评论:

发表评论