目录
给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。字母异位词 是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母通常恰好只用一次。
- class Solution {
- public List
> groupAnagrams(String[] strs) {
- List
> res = new ArrayList<>();
- if(strs == null || strs.length == 0)
- return res;
- Map
> map = new HashMap<>(); - for(String str : strs){
- char[] ch = str.toCharArray();
- Arrays.sort(ch);
- String newStr = new String(ch);
- if(map.containsKey(newStr)){
- List
list = map.get(newStr); - list.add(str);
- map.put(newStr, list);
- }else{
- List
list = new LinkedList<>(); - list.add(str);
- map.put(newStr, list);
- }
- }
- for(Map.Entry
> entry : map.entrySet()){ - res.add(entry.getValue());
- }
- return res;
- }
- }