49. Group Anagrams

熬夜冠军
• 阅读 1228

Given an array of strings, group anagrams together.
Example:

Input: ["eat", "tea", "tan", "ate", "nat", "bat"],
Output:
[
  ["ate","eat","tea"],
  ["nat","tan"],
  ["bat"]
]

Note:
All inputs will be in lowercase.
The order of your output does not matter.

难度:medium

题目:给定一个字符串数组,将 颠倒字母而成的单词 组合在一起。
注意:所有输入都为小写字母

思路:都按字母序排序。

Runtime: 14 ms, faster than 85.30% of Java online submissions for Group Anagrams.
Memory Usage: 34.1 MB, less than 16.58% of Java online submissions for Group Anagrams.

class Solution {
    public List<List<String>> groupAnagrams(String[] strs) {
        Map<String, List<String>> msl = new HashMap<>();
        
        for (int i = 0; i < strs.length; i++) {
            char[] sc = strs[i].toCharArray();
            Arrays.sort(sc);
            String ns = new String(sc);
            msl.putIfAbsent(ns, new ArrayList<String>());
            msl.get(ns).add(strs[i]);
        }
        
        return new ArrayList(msl.values());
    }
}
点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
美凌格栋栋酱 美凌格栋栋酱
7个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
待兔 待兔
1年前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
3年前
Unity XLua 官方案例学习
1\.Helloworld1usingUnityEngine;2usingXLua;34publicclassHelloworld:MonoBehaviour{5//Usethisforinitialization
Stella981 Stella981
3年前
OKHttp源码学习
1.HttpURLConnection1publicclassHttpURLConnectionGetAndPost{2privateStringurlAddress"xxxx";34publicvoiddoGet(Stringmethod,Strings)
Wesley13 Wesley13
3年前
JAVA的接口
用法:1interfaceA{2publicstaticfinalinti10;34publicvoidrunLoad();5}67publicclassDemoimplementsA{8/
Stella981 Stella981
3年前
Android蓝牙连接汽车OBD设备
//设备连接public class BluetoothConnect implements Runnable {    private static final UUID CONNECT_UUID  UUID.fromString("0000110100001000800000805F9B34FB");
Wesley13 Wesley13
3年前
thinkphp 基本配置
12returnarray(34//定义数据库连接信息5'DB\_TYPE''mysql',//指定数据库是mysql67'DB\_HOST''localhost',89'DB\_NAME''uchome',//数据库名1011'DB\_USER''root
Wesley13 Wesley13
3年前
ES6之路第三篇:字符串的扩展
字符的Unicode表示法1"\u{20BB7}"2//"𠮷"34"\u{41}\u{42}\u{43}"5//"ABC"67lethello123;8hell\u{6F}//123910'\u{
Stella981 Stella981
3年前
Cocos Creator 功能介绍
!file(https://oscimg.oschina.net/oscnet/up5c82e34c46fdacee075a4188f5cb754d.jpg"file")!file(https://oscimg.oschina.net/oscnet/up37362907f328bb3327eba4a7b22faf16.jpg"file")
Stella981 Stella981
3年前
Android默认字体ASCII码中可显示字符的平均灰度由小到大排序
如题:46,96,39,58,45,44,59,34,95,126,33,94,105,114,124,47,73,61,60,62,42,108,92,49,116,43,106,63,118,41,40,76,102,123,55,125,74,84,99,120,122,93,91,117,110,115,89,111,70,121,101,50,