欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > 字母异位词分组-java

字母异位词分组-java

2024/10/25 8:19:18 来源:https://blog.csdn.net/qq_62775328/article/details/142319271  浏览:    关键词:字母异位词分组-java

题目链接: 49. 字母异位词分组 - 力扣(LeetCode)

class Solution {public List<List<String>> groupAnagrams(String[] strs) {// 处理边界情况:如果输入数组为空或只有一个元素,直接返回if (strs.length == 0 || strs.length == 1) {return List.of(Arrays.asList(strs));}// 创建一个 HashMap 来存储分组结果// 键是排序后的字符串,值是原始字符串的列表Map<String, List<String>> map = new HashMap<>();// 遍历输入的每个字符串for (String s : strs) {// 将字符串转换为字符数组char[] chars = s.toCharArray();// 对字符数组进行排序Arrays.sort(chars);// 将排序后的字符数组转换回字符串,作为 map 的键String key = String.valueOf(chars);// 如果 map 中还没有这个键,为它创建一个新的 ArrayListif (!map.containsKey(key)) {map.put(key, new ArrayList<>());}// 将原始字符串添加到对应的列表中map.get(key).add(s);}// 返回 map 中所有值的列表// 使用 new ArrayList<>(map.values()) 来确保返回类型是 List<List<String>>return new ArrayList<>(map.values());}
}

字母异位词分组可视化解题思路

编程知识点集锦:

Arrays.asList(strs)

字符串转字符数组: char[] chars = s.toCharArray();

字符数组转换回字符串: String.valueOf(chars);

map是否含有某个key: map.containsKey(key)

map.values(): Map.values() 到 ArrayList 的转换

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com