import java.util.Hashtable;
public class Solution {
public ArrayList<String> anagrams(String[] strs) {
ArrayList<String> res = new ArrayList<String> ();
Hashtable<String, ArrayList<String>> hashtable = new Hashtable<String, ArrayList<String>>();
for (int i=0; i<strs.length; i++) {
String sorted = sorted(strs[i]);
ArrayList<String> val = hashtable.get(sorted);
if (val!=null) {
val.add(strs[i]);
} else {
val = new ArrayList<String> ();
val.add(strs[i]);
hashtable.put(sorted, val);
}
}
Set<String> set = hashtable.keySet();
for (String s:set) {
ArrayList<String> val = hashtable.get(s);
if (val.size()>1) res.addAll(val);
}
return res;
}
public String sorted(String s) {
char[] schar = s.toCharArray();
Arrays.sort(schar);
return new String(schar);
}
}
没有评论:
发表评论