字母异位词分组 Java
class Solution {public List<List<String>> groupAnagrams(String[] strs) {Map<String, List<String>> map = new HashMap();for (int i = 0; i < strs.length; i++) {// 将当前str排序作为该字母异位词统一存入HashMap的keychar[] chars = strs[i].toCharArray();Arrays.sort(chars);String str = String.valueOf(chars);// 拿出原有key为str的List,没有就创建一个List<String> list = map.getOrDefault(str, new ArrayList());list.add(strs[i]); // 添加当前异位词到List中map.put(str, list); // 放回Map中}return new ArrayList(map.values());}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~