leetcode--Anagrams
Given an array of strings, return all groups of strings that are anagrams.
Note: All inputs will be in lower-case.
public class Solution {
public ArrayList<String> anagrams(String[] strs) {
ArrayList<String> result = new ArrayList<String>();
if(strs.length > 0){
HashMap<String, ArrayList<String> > words = new HashMap<String, ArrayList<String>>();
for(String s : strs){
String sortedString = sortedString(s);
if(words.containsKey(sortedString))
words.get(sortedString).add(s);
else{
ArrayList<String> alist = new ArrayList<String>();
alist.add(s);
words.put(sortedString, alist);
}
}
Iterator<ArrayList<String> > itr = words.values().iterator();
while(itr.hasNext()){
ArrayList<String> nodes = itr.next();
if(nodes.size()> 1)
result.addAll(nodes);
}
}
return result;
}
public String sortedString(String s){
char[] Schar = s.toCharArray();
Arrays.sort(Schar);
return Arrays.toString(Schar);
}
}

浙公网安备 33010602011771号