Group Anagrams

原创 2015年11月19日 22:30:18

题目描述

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:
For the return value, each inner list’s elements must follow the lexicographic order.
All inputs will be in lower-case.

题目解答

解题思路

结合排序和hash
用hash来分组
用排序来确定key值
最后对List排序(Collections.sort)

代码实现

public class Solution {
    public List<List<String>> groupAnagrams(String[] args) {
        if(args == null || args.length == 0)
            return null;

        HashMap<String, List<String>> map = new HashMap<>();
        for(int i = 0; i < args.length; i++){

            char[]  c = args[i].toCharArray();
            Arrays.sort(c);
            String key = String.valueOf(c);
            List<String> value = map.get(key);
            if(value == null)
                value = new ArrayList<>();
            value.add(args[i]);
            map.put(key, value);
        }

        List<List<String>> ret = new ArrayList<>();
        for(String key : map.keySet()){
            List<String> temp = map.get(key);
            Collections.sort(temp);
            ret.add(temp);
        }

        return ret;
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

leetcode:Group Anagrams 【Java】

一、问题描述 Given an array of strings, group anagrams together. For example, given: ["eat", "tea"...
  • tterminator
  • tterminator
  • 2016年03月11日 14:51
  • 1299

[leetcode] 49. Group Anagrams 解题报告

题目链接:https://leetcode.com/problems/anagrams/ Given an array of strings, group anagrams together. ...
  • qq508618087
  • qq508618087
  • 2016年02月29日 05:02
  • 1006

LeetCode(49)Group Anagrams

题目Given an array of strings, group anagrams together.For example, given: [“eat”, “tea”, “tan”, “ate”...
  • fly_yr
  • fly_yr
  • 2015年09月01日 20:28
  • 5481

LeetCode-49-Group Anagrams(哈希)-Medium

题意理解: 将给定字符串分组,要求同一组的字符串由相同字符组成,最终,将各组字符串按字典序输出; 题目分析: 1. 将字符串先进行排序,然后通过字符串比较来判定是否为同一组; 2. 将...
  • eddy_liu
  • eddy_liu
  • 2016年01月10日 18:32
  • 1999

LeetCode 49. Group Anagrams (Python)

题目描述: Given an array of strings, group anagrams together.For example, given: [“eat”, “tea”, “tan”, ...
  • Lu_gee
  • Lu_gee
  • 2017年08月05日 19:28
  • 257

[LeetCode] Group Anagrams

Group Anagrams Given an array of strings, group anagrams together. For example, given: ["eat...
  • wangshaner1
  • wangshaner1
  • 2015年08月19日 11:07
  • 2986

LeetCode-49. Group Anagrams (JAVA)按照字典序分组

LeetCode-49. Group Anagrams (JAVA)按照字典序分组
  • mine_song
  • mine_song
  • 2017年04月21日 13:08
  • 550

Leetcode: Anagrams

Given an array of strings, return all groups of strings that are anagrams. Note: All inputs will be...
  • doc_sgl
  • doc_sgl
  • 2013年10月05日 17:02
  • 6922

LeetCode题解:Group Anagrams

Given an array of strings, group anagrams together.For example, given: [“eat”, “tea”, “tan”, “ate”, ...
  • u012403246
  • u012403246
  • 2015年09月06日 21:24
  • 977

LeetCode 49. Group Anagrams(分组同构异形词)

原题网址:https://leetcode.com/problems/anagrams/ Given an array of strings, group anagrams together. ...
  • jmspan
  • jmspan
  • 2016年05月21日 06:11
  • 646
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Group Anagrams
举报原因:
原因补充:

(最多只允许输入30个字)