方法:排序
class Solution {
public List<List<String>> groupAnagrams(String[] strs) {
//创建HashMap
Map<String, List<String>> map = new HashMap<String, List<String>>();
//字符串遍历字符串数组
for (String str : strs) {
//将当前字符串拆成字符数组
char[] array = str.toCharArray();
//对字符数组进行排序,所有字母异位词排序结果相同
Arrays.sort(array);
//将排序完的字符串作为异位词的key
String key = new String(array);
//getOrDefault:存在key对应的value则返回,否则给新值
//保存至对应的异位词组
List<String> list = map.getOrDefault(key, new ArrayList<String>());
list.add(str);
//更新hashmap
map.put(key, list);
}
return new ArrayList<List<String>>(map.values());
}
}