1、前言
题目描述
2、思路
此题主要是选取一个正确的 key,可以发现异位单词虽然顺序不同,但是单词中的字符经过排序后都是一样的,这个就可以作为 key。
3、代码
class Solution {
public List<List<String>> groupAnagrams(String[] strs) {
List<List<String>> res = new ArrayList<>();
HashMap<String, List<String>> map = new HashMap<>();
for(int i = 0; i < strs.length; i++){
char[] chs = strs[i].toCharArray();
Arrays.sort(chs);
String key = String.valueOf(chs);
if(!map.containsKey(key)){
List<String> list = new ArrayList<>();
list.add(strs[i]);
map.put(key, list);
res.add(list);
}else{
map.get(key).add(strs[i]);
}
}
return res;
}
}







网友评论