思路
将所有字符串转换为按字典序列排列的字符串然后存入哈希表中,便可判断是否为字母异位词
解题过程
首先将字符串转换为字符数组,再利用Arrays.sort()函数排序后重新转换为字符串存入哈希表中
Code
class Solution {
public List<List<String>> groupAnagrams(String[] strs) {
Map<String,List<String>> map=new HashMap<>();
for(String s:strs){
char[] arr=s.toCharArray();
Arrays.sort(arr);
String ts=new String(arr);
if(map.get(ts)!=null){
List<String> tl=map.get(ts);
tl.add(s);
map.put(ts,tl);
}else{
List<String> tl=new ArrayList<>();
tl.add(s);
map.put(ts,tl);
}
}
return new ArrayList<>(map.values());
}
}
作者:菜卷
链接:https://leetcode.cn/problems/group-anagrams/solutions/2912222/zi-mu-yi-wei-ci-fen-zu-by-ashi-jian-chon-aiao/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。