/**49. Group Anagrams
* @param strs
* @returnList<List<String>>
*/
public List<List<String>> groupAnagrams1(String[] strs) {
List<List<String>> ret = new ArrayList<List<String>>();
HashMap<String, List<String>> map = new HashMap<String, List<String>>();
for (String str: strs) {
char[] arr = str.toCharArray();
Arrays.sort(arr);
String sortStr = String.valueOf(arr);
if (map.containsKey(sortStr)) {
List<String> list = map.get(sortStr);
list.add(str);
map.put(sortStr, list);
} else {
List<String> list = new ArrayList<String>();
list.add(str);
map.put(sortStr, list);
}
}
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
ret.add((List<String>) entry.getValue());
}
return ret;
}
//为每一个string排序,并存入map(排序后的string, 排序前的string),所以设计hashMap为: