lintcode-medium-Anagrams
2016-03-14 14:37
253 查看
Given an array of strings, return all groups of strings that are anagrams.
Given
Given
Given
["lint", "intl", "inlt", "code"], return
["lint", "inlt", "intl"].
Given
["ab", "ba", "cd", "dc", "e"], return
["ab", "ba", "cd", "dc"].
public class Solution { /** * @param strs: A list of strings * @return: A list of strings */ public List<String> anagrams(String[] strs) { // write your code here List<String> result = new ArrayList<String>(); if(strs == null || strs.length == 0) return result; HashMap<String, ArrayList<String>> map = new HashMap<String, ArrayList<String>>(); for(int i = 0; i < strs.length; i++){ String temp = getCount(strs[i]); if(!map.containsKey(temp)) map.put(temp, new ArrayList<String>()); map.get(temp).add(strs[i]); } for(ArrayList<String> value: map.values()){ if(value.size() > 1) result.addAll(value); } return result; } public String getCount(String str){ StringBuilder result = new StringBuilder(); int[] count = new int[26]; for(int i = 0; i < str.length(); i++){ count[str.charAt(i) - 'a']++; } for(int i = 0; i < 26; i++) result.append(count[i]); return result.toString(); } }
相关文章推荐
- UITableViewCell 自定义绘制 性能高
- 指针函数/函数指针/指针数组/数组指针 区别
- Mesos+Zookeeper+Marathon+Docker分布式集群管理最佳实践
- 返回随机文件名
- 随笔小特效代码01
- 简单使用redis
- webstotm 和windows快捷键
- 在一串日期中合并连续的日期
- Android 关于热点的操作
- sql查询数据库的常用优化方法
- Linux基础回顾之基础命令一
- 移动端总结和手机兼容问题
- javascript的date()和getTime()区别
- 白色情人节临摹盒子登陆页面3.14
- maven 项目(四) spring集成springMVC开发统一接入API(准备工作:第一部分)
- APP测试到迭代开发再到上线运营
- Oralce 格式化日期
- 【转】myeclipse 上安装 Maven3
- Myeclipse去除空行
- 109 - Convert Sorted List to Binary Search Tree