49字母异位词分组
解题思路
1.将不同的字符串转换为字符数组并按照字母顺序进行排序
2.异位词排序后的结果相同,故可以作为哈希表的key值
3.将字母异位词组成的集合作为哈希表的value值
代码
class Solution {
public List<List<String>> groupAnagrams(String[] strs) {
if (strs == null || strs.length == 0){
return new ArrayList();
}
HashMap<String, List> hashMap = new HashMap<>();
for (String str : strs) {
char[] chars = str.toCharArray();
Arrays.sort(chars);
String s = String.valueOf(chars);
if (!hashMap.containsKey(s)){
hashMap.put(s,new ArrayList());
}
hashMap.get(s).add(str);
}
return new ArrayList(hashMap.values());
}
}
参考
https://leetcode.cn/problems/group-anagrams/solution/zi-mu-yi-wei-fen-zu-ha-xi-biao-zhu-bu-zh-gf9q/