49. Group Anagrams

 

一次遍历,用一个map记录相同的string <String, List<String>>

char[]到String 用new String()

 

 1 class Solution {
 2     public List<List<String>> groupAnagrams(String[] strs) {
 3         List<List<String>> res = new ArrayList<>();
 4         if(strs.length == 0) return res;
 5         HashMap<String, List<String>> map = new HashMap<>();
 6         for(int i = 0; i < strs.length; i++){
 7             char[] arr = strs[i].toCharArray();
 8             Arrays.sort(arr);
 9             String str = new String(arr);
10             if(map.containsKey(str)){
11                 List<String> list = map.get(str);
12                 list.add(strs[i]);
13                 map.put(str, list);
14             }else{
15                 List<String> list = new ArrayList<>();
16                 list.add(strs[i]);
17                 map.put(str, list);
18             }
19         }
20         for(String str : map.keySet()){
21             res.add(map.get(str));
22         }
23         return res;
24         
25     }
26 }

 

posted @ 2018-10-07 06:23  jasoncool1  阅读(129)  评论(0编辑  收藏  举报