Anagrams

发布时间:2016-12-9 0:11:10 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"Anagrams",主要涉及到Anagrams方面的内容,对于Anagrams感兴趣的同学可以参考一下。

Given an array of strings, return all groups of strings that are anagrams. Note: All inputs will be in lower-case. Analysis: Using a hash table groups all anagrams together. We can sort each string first and using such sorted string as the key to store it in the hash table.  public class Solution { public ArrayList<String> anagrams(String[] strs) { ArrayList<String> res = new ArrayList<String>(); HashMap<String, ArrayList<String>> map = new HashMap<String, ArrayList<String>>(); for(int i=0; i<strs.length; i++) { char[] charArray = strs[i].toCharArray(); Arrays.sort(charArray); String sortedString = new String(charArray); if(!map.containsKey(sortedString)) map.put(sortedString, new ArrayList<String>()); map.get(sortedString).add(strs[i]); } for(String s : map.keySet()) { if(map.get(s).size()>1) res.addAll(map.get(s)); // return groups only } return res; } }

上一篇:版本控制详细说明
下一篇:sdut2125 串结构练习——字符串匹配(strstr求子串)

相关文章

关键词: Anagrams

相关评论