• Leetcode 49. Group Anagrams


    Given an array of strings, group anagrams together.

    For example, given: ["eat", "tea", "tan", "ate", "nat", "bat"],
    Return:

    [
      ["ate", "eat","tea"],
      ["nat","tan"],
      ["bat"]
    ]

    Note: All inputs will be in lower-case.

    遍历一遍strs,碰到的每个字符串后先拆解成字符数组,然后按照字典顺序排序,之后组装为string类型的字符串

    判断字符串是否出现在map中,若在,将拆解组装之前的字符串存入相应map 的 list中

    map集合中各个key对应的value就是由相同字母组成的字符串

    public class Solution {
        //第一次 一次提交 一次AC
        public List<List<String>> groupAnagrams(String[] strs) {
            List<List<String>> ansli  = new ArrayList<List<String>>();
            HashMap<String,List<String>> map = new HashMap<String,List<String>>();
            for(int i=0;i<strs.length;i++){
                char [] c = strs[i].toCharArray();
                Arrays.sort(c);
                String str = String.valueOf(c);
                if( map.containsKey(str) ){
                    List<String> list = map.get( str );
                    list.add( strs[i] );
                }
                else{
                    List<String> list = new ArrayList<String>();
                    ansli.add(list); //既然对于应用型数据添加的应用的地址,添加之后对于应用的修改,对所有有该引用类型的地值
                                     //的,list都有效,就不用在通过遍历map 来实现了,替代了下方注释的部分
                    list.add( strs[i] );
                    map.put(str,list);
                }
            }
            //遍历map
            // Iterator<HashMap.Entry<String, List<String>>> entries = map.entrySet().iterator();
            // while (entries.hasNext()) {
            //     Map.Entry<String, List<String>> entry = entries.next();
            //     ansli.add(entry.getValue());
            // }
            return ansli;
        }
    }
    
  • 相关阅读:
    zabbix 监控获取源码包的地址
    为MongoDB加集群验证的关键点
    Mongodb 集群加keyFile认证
    Prometheus完整的部署方案+实战实例
    如何让你的linux的命令行变得很炫
    redis实现加锁的几种方法示例详解
    phpquerylist 抓取数据详解
    mysql 主从配置,主-》windows,从-》centos6.5
    VMware 虚拟机centos下链接网络配置
    【Mysql】表链接
  • 原文地址:https://www.cnblogs.com/mxk-star/p/7327836.html
Copyright © 2020-2023  润新知