zoukankan      html  css  js  c++  java
  • [LeetCode No.49] 字母异味词分组

    题目

    题解

    根据题目可以看到结果返回的是一个List嵌套List,又是要求“字母相同,位置不同即可为一组”
    根据题意可以利用Map的key的唯一性,将字符串转为字符数组并进行排序。加入Map
    排序后的字符串数再转为字符串,若其存在于key,则把key对应的List取出,并把初始字符串添加进List。然后把List放回map
    若不存在,则新建一个List,将初始字符串添加进List,然后把List放回map

    代码

    public class Solution {
    public static List<List<String>> groupAnagrams(String[] strs) {
            Map<String,ArrayList<String>> ans = new HashMap<String, ArrayList<String>>();
    
            for (String str:strs){
                char[] c_str = str.toCharArray();
                Arrays.sort(c_str);
                String key = new String(c_str);
                System.out.println(key);
                ArrayList<String> temp = ans.getOrDefault(key,new ArrayList<>());
                temp.add(str);
                ans.put(key,temp);
            }
    
            return new ArrayList<List<String>>(ans.values());
        }
    }
    
  • 相关阅读:
    linux中ll和du的区别
    django+celery+redis环境搭建
    python中若干错误
    js正则表达式中匹配反引号
    yii学习小结
    linux下DNS设置以及解析顺序
    apache中若干模块的安装
    HTML基础
    selenium
    selenium
  • 原文地址:https://www.cnblogs.com/Mr-BING/p/14136013.html
Copyright © 2011-2022 走看看