相关标签
一、题目要求
二、题解和代码实现
1.题解
2.代码实现
代码如下(示例):
class Solution {
public List<List<String>> groupAnagrams(String[] strs) {
HashMap<String, List<String>> map = new HashMap<>();//记录相同字符的列表
for (String str : strs) {
char[] chars = str.toCharArray();//转换成数组
Arrays.sort(chars);//排序数组
String key = new String(chars);//把排序后的数组为key
//获取map中 key为排序后的数组的集合,如果没有该key的集合,就新建一个集合
List<String> list = map.getOrDefault(key, new ArrayList<String>());
//添加数据到集合中
list.add(str);
//把新集合重新存进map中,如果没有之前这个key的话,就会新增该key
map.put(key,list);
}
//获取map中全部的value值,value 都是集合
//返回全部value值的集合
return new ArrayList<List<String>>(map.values());
}
}