49. Group Anagrams
For example, given:["eat", "tea", "tan", "ate", "nat", "bat"],
Return:
[
["ate", "eat","tea"],
["nat","tan"],
["bat"]
]
思路: sort each element
public class Solution {
public List<List<String>> groupAnagrams(String[] strs) {
List<List<String>> result = new ArrayList<List<String>>();
HashMap<String,List<String>> map = new HashMap<String,List<String>>();
for (int i=0;i<strs.length;i++){
String temp = strs[i];
char[] ch = temp.toCharArray();
Arrays.sort(ch);
if (map.containsKey(String.valueOf(ch))){
map.get(String.valueOf(ch)).add(strs[i]);
}else{
List<String> list = new ArrayList<>();
list.add(strs[i]);
map.put(String.valueOf(ch),list);
}
}
for (List<String> element:map.values()){
result.add(element);
}
return result;
}
}