leetcode: anagram
来源:互联网 发布:守望者罗夏的面具淘宝 编辑:程序博客网 时间:2024/06/05 17:47
要求我们将所有anagram找出并返回......anagram指的是字母及每个字母数量都相同的字符串(字母顺序不一样),这些字符串字典序排序后是相同的....
我们可以利用map来记录每个排好序的字符串及其出现位置....一旦出现相同的就将这些全部存入结果并标明该字符串是anagram(令下表为-1)。这样之后再次出现该字符串即可直接存入结果....
需要注意的是对String进行字典序排列,我才用的方法是先用String.toCharArray方法转为char数组,利用Arrays.sort()对char数组排序,再利用String的构造函数String(char[])将char数组转为String...
public class Solution { public List<String> anagrams(String[] strs) { int len = strs.length; List<String> res = new ArrayList<String>(); if(len==0) { return res; } Map<String,Integer> doc = new HashMap<String,Integer>(); for(int i=0;i<len;i++) { char[] chars = strs[i].toCharArray(); Arrays.sort(chars); String tmp = new String(chars); if(doc.containsKey(tmp)) { int pre = doc.get(tmp); if(pre==-1) { res.add(strs[i]); } else { res.add(strs[pre]); res.add(strs[i]); doc.remove(tmp); doc.put(tmp,-1); } } else { doc.put(tmp,i); } } return res; }}
0 0
- [Leetcode]Anagram
- leetcode: anagram
- [LeetCode] Anagram
- LeetCode---anagram
- LeetCode(49)Anagram
- Leetcode #242 Valid Anagram
- leetcode-242-Valid Anagram
- Leetcode: Valid Anagram
- 【leetCode】Valid Anagram
- [leetcode] 242.Valid Anagram
- leetcode 242: Valid Anagram
- 【leetcode】Valid Anagram
- [leetcode] Valid Anagram
- LeetCode Valid Anagram
- 【LeetCode】242 Valid Anagram
- [LeetCode] Valid Anagram
- leetcode: Valid Anagram
- leetCode(53):Valid Anagram
- Rabbitmq集群高可用
- 第195天
- Spring和Hibernate
- struts2+jQuery+ajax调用演示
- ONVIF简介
- leetcode: anagram
- 解决PowerDesigner 16 Generate Datebase For Sql2005/2008 对象名sysprop
- webkit中 Frame对象分析
- BigDecimal小问题
- 新的开始
- bash编程技巧
- android:windowSoftInputMode属性详解
- js toFixed 小问题
- C++ 调整数组使得奇数位于偶数后面