*Group Anagrams
2016-01-02 12:30
357 查看
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.
public class Solution { public List<List<String>> groupAnagrams(String[] strs) { if (strs == null || strs.length == 0) return new ArrayList<List<String>>(); Map<String, List<String>> map = new HashMap<String, List<String>>(); Arrays.sort(strs); for (String s : strs) { char[] ca = s.toCharArray(); Arrays.sort(ca); String keyStr = String.valueOf(ca); if (!map.containsKey(keyStr)) map.put(keyStr, new ArrayList<String>()); map.get(keyStr).add(s); } return new ArrayList<List<String>>(map.values()); } }
reference:https://leetcode.com/discuss/58561/share-my-short-java-solution
相关文章推荐
- 自媒体的风格
- mysql登录失败
- Android之Activity与Service通信
- htk-3.5
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料
- 理解OAuth 2.0
- LeetCode-31-Next Permutation(找规律/证明)-Medium
- EAX、ECX、EDX、EBX寄存器的作用
- 为什么设计师也要学会判断优先级?
- 第八届河南省赛D.引水工程(kruthcra+prime)
- centos下一台机器多个Mysql实例
- 用OneProxy部署MySQL数据库的读写分离
- NLP常用信息资源
- 第十四周项目2-二叉树排序树中查找的路径
- JavaScript客户端检测技术
- VimDesktop 配置
- DP 动态规划Dynamic programming
- ifcfg, ip,ss及配置文件
- Linguistic Data Consortium (LDC)
- 【线性代数】 07 - 线性函数