解题思路
输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"]
输出: [["bat"],["nat","tan"],["ate","eat","tea"]]
例如:将nat,tan进行排序,最终的字符串是一样的,则将原来的字符串储存到哈希表中。
相关代码
class Solution {
public List<List<String>> groupAnagrams(String[] strs) {
List<List<String>> list = new ArrayList<>();
Map<String,List<String>> hash = new HashMap<>();
for(int i=0;i<strs.length;i++){
char t[] = strs[i].toCharArray();
Arrays.sort(t);
String s = new String(t);
if(hash.get(s)==null){
hash.put(s,new ArrayList<String>());
}
hash.get(s).add(strs[i]);
}
for(String temp:hash.keySet()){
list.add(hash.get(temp));
}
return list;
}
}