171.Anagrams
1.Description(Medium)
Notice
2.Code
public List<String> anagrams(String[] strs) {
List<String> result=new ArrayList<String>();
if(strs==null || strs.length==0){
return result;
}
HashMap<String,List<String>> map=new HashMap<>();
for(int i=0;i<strs.length;i++){
//fetch this word and make it array then sort it then remake a string
char[] current=strs[i].toCharArray();
Arrays.sort(current);
String key=new String(current);
if(map.containsKey(key)){
map.get(key).add(strs[i]);
}else{
List<String> word=new ArrayList<String>();
word.add(strs[i]);
map.put(key, word);
}
}
for(List<String> element:map.values()){
if(element.size()>1){
result.addAll(element);
}
}
return result;
}Last updated