Group Anagrams
Given an array of strings, group anagrams together.
For example, given: ["eat", "tea", "tan", "ate", "nat", "bat"],
Return:
[
[
"ate",
"eat",
"tea"],
[
"nat",
"tan"],
[
"bat"]
]
Solution:
public List<List<String>>
groupAnagrams(String[] strs) {
Map<String, List<String>> map =
new HashMap<>();
for (String str : strs) {
char[] chars = str.toCharArray();
Arrays.sort(chars);
String s = String.valueOf(chars);
if (!map.containsKey(s)) {
map.put(s,
new ArrayList<String>());
}
map.get(s).add(str);
}
return new ArrayList<List<String>>(map.values());
}
转载请注明原文地址: https://ju.6miu.com/read-40883.html