zoukankan      html  css  js  c++  java
  • 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;
        }
    }
    
  • 相关阅读:
    git功能速查
    iPad actionsjeet
    iOS开发中集成Reveal
    【转】ios内联函数 inline
    【转】数据存储——APP 缓存数据线程安全问题探讨
    iOS 改变导航栏高度
    ios 闪屏页的设置
    AFNetworking content type not support
    iOS 获取本地文件的各种坑
    iOS UICollectionView 长按移动cell
  • 原文地址:https://www.cnblogs.com/mxk-star/p/7327836.html
Copyright © 2011-2022 走看看