@LeetCode刷题
题目
一、实现思路
获取输入数组的每一个单词,分割为char[]
数组后按字典序排序,得到结果存储到hashmap
,最后将结果的values()
转换为输出。
二、总体代码
class Solution {
public List<List<String>> groupAnagrams(String[] strs) {
Map<String, List<String>> map = new HashMap<String, List<String>>();
for( String str: strs ){
char[] k = str.toCharArray();
Arrays.sort(k);
String key = String.valueOf(k);
List<String> list = map.getOrDefault(key, new ArrayList<String>());
list.add(str);
map.put(key, list);
}
return new ArrayList<List<String>>(map.values());
}
}