leetcode-49. 字母异位词分组
-
-
拆分这个词为char[]数组,经过排序char[]数组,再转换为字符串key,如果有两个key是一样的,就说明这两个词为异位词
-
把这个key当作map集合的键,维护一个list作为map的值,每次如果
class Solution { public List<List<String>> groupAnagrams(String[] strs) { Map<String, List<String>> map = new HashMap<>(); for(String str : strs){ //首先根据题意得知,异位词中字母相同 char[] chars = str.toCharArray();//拆分这个词为char[]数组 Arrays.sort(chars); //经过排序char[]数组 String key = new String(chars); //再转换为字符串key,如果有两个key是一样的,就说明这两个词为异位词 List<String> list = map.getOrDefault(key, new ArrayList<>()); //把这个key当作map集合的键,维护一个list作为map的值,如果没搜到相同的key就新建一个list list.add(str); //每次如果搜到了相同的key就添加到list里 map.put(key, list); } return new ArrayList<>(map.values()); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律