49. 字母异位词分组
2026/5/10 18:21:01 网站建设 项目流程

这题我们可以遍历每一个字符串,然后把每个字符串根据字母排序,这样所有异位词排序后的字符串就是相同的,将这个排好序的字符串作为哈希表的key,异位词列表作为对应的value,这样就行了

class Solution { public List<List<String>> groupAnagrams(String[] strs) { // key: 排序后的字符串 // value: 属于这一组的原字符串列表 Map<String, List<String>> map = new HashMap<>(); for (String str : strs) { // 1. 转字符数组 char[] chars = str.toCharArray(); // 2. 排序 Arrays.sort(chars); // 3. 排序后重新变成字符串 String key = new String(chars); // 4. 如果不存在这个key,先创建 if (!map.containsKey(key)) { map.put(key, new ArrayList<>()); } // 5. 加入对应组 map.get(key).add(str); } // 返回所有 value return new ArrayList<>(map.values()); } }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询