49. 字母异位词分组
解题思路
- 创建一个哈希容器 key是每一个字母异位词 排序之后的词 List是所有的字母异位词
- 因为所有的字母异位词排序之后的结果都是一样的
- 增强for循环遍历字符串数组
- 将每一个字符串转换为字符数组
- 因为字母异位词排序之后 都是一样的
- 将排序之后的字符数组 转换为字符串
- 将排序之后的结果 作为hash的key
- 如果不存在 将字母异位 添加到Map中
- 将该字符串放在对应key的list中
class Solution {public List<List<String>> groupAnagrams(String[] strs) {Map<String,List> map =new HashMap<>();for(String str: strs){char[] ss = str.toCharArray();Arrays.sort(ss);String key = String.valueOf(ss);if(!map.containsKey(key)){map.put(key,new ArrayList());}map.get(key).add(str);}return new ArrayList(map.values());}
}