JasonChang

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
 1 public class Solution {
 2     public ArrayList<String> anagrams(String[] strs) {
 3         // Start typing your Java solution below
 4         // DO NOT write main() function
 5         int len = strs.length;
 6         ArrayList<String> result = new ArrayList<String>();
 7         Map<String, ArrayList<String>> sorted = new HashMap<String, ArrayList<String>>();
 8         
 9         for(int i = 0; i < len; i++){
10             String tmp = strs[i];
11             String sort = sortStr(tmp);
12             if(sorted.get(sort) != null){
13                 sorted.get(sort).add(tmp);
14             } else {
15                 ArrayList<String> list = new ArrayList<String>();
16                 list.add(tmp);
17                 sorted.put(sort, list);
18             }
19         }
20         
21         Iterator iter = sorted.values().iterator();
22         while(iter.hasNext()){
23             ArrayList<String> list = (ArrayList<String>)iter.next();
24             if(list.size() > 1){
25                 result.addAll(list);
26             }
27         }
28         
29         return result;
30     }
31     
32     public String sortStr(String str){
33         char[] c = str.toCharArray();
34         Arrays.sort(c);
35         return new String(c);
36     }
37 }

 

posted on 2013-11-19 16:58  JasonChang  阅读(164)  评论(0)    收藏  举报