49. Group Anagrams

Medium

好几个String, HashMap的API不是很熟悉,但非常实用,记一下吧:

  • char[] 和 String的互相转换

char[] chas = s.toCharArray();
String keyStr = String.valueOf(chas);

  • 遍历hashmap的所有key

map.keySet()

  • 将map.values()以 ArrayList<List<String>>类型返回
    这里主要是要知道ArrayList的一个构造函数:


    Screen Shot 2017-11-18 at 5.46.30 PM.png

熟悉一下HashMap其他的api

Screen Shot 2017-11-18 at 5.44.50 PM.png
Screen Shot 2017-11-18 at 5.44.59 PM.png

逻辑很简单,没什么好说的,感觉完全在考api

class Solution {
    public List<List<String>> groupAnagrams(String[] strs) {
        List<List<String>> res = new ArrayList<>();
        if (strs == null || strs.length == 0){
            return res;
        }
        Map<String, List<String>> map = new HashMap<>();
        for (String s : strs){
            char[] chas = s.toCharArray();
            Arrays.sort(chas);
            String keyStr = String.valueOf(chas);
            if (!map.containsKey(keyStr)){
                map.put(keyStr, new ArrayList<String>());
            }
            map.get(keyStr).add(s);
        }
        for (String s : map.keySet()){
            Collections.sort(map.get(s));
        }
        return new ArrayList<List<String>>(map.values());
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Given an array of strings, group anagrams together.For ex...
    DrunkPian0阅读 3,247评论 0 0
  • Given an array of strings, group anagrams together. Note:...
    matrxyz阅读 1,279评论 0 0
  • Given an array of strings, group anagrams together. For e...
    Jeanz阅读 1,711评论 0 0
  • java笔记第一天 == 和 equals ==比较的比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量...
    jmychou阅读 5,443评论 0 3
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,631评论 18 399

友情链接更多精彩内容