class Solution {
public List<List<String>> groupAnagrams(String[] strs) {
List<List<String>> ans = new ArrayList<>();
if (strs == null || strs.length == 0) return ans;
Map<String, List<String>> hash = new HashMap<>();
for (String str : strs){
char[] cArray = str.toCharArray();
Arrays.sort(cArray);
String temp = new String(cArray);
//System.out.println("str: " + str + " temp: " + temp);
if (!hash.containsKey(temp)){
List<String> newList = new ArrayList<>();
newList.add(str);
hash.put(temp, newList);
}
else{
hash.get(temp).add(str);
}
}
for (List<String> list : hash.values()){
ans.add(list);
}
return ans;
}
}