Anagrams - LeetCode
来源:互联网 发布:nginx 禁止空主机头 编辑:程序博客网 时间:2024/06/05 17:11
Given an array of strings, return all groups of strings that are anagrams.
Note: All inputs will be in lower-case.
这是我找到的最喜欢的解法。这个方法的精髓在于,设计一个HashMap,其中的Key用我们的sort过的String来代替。因为如果两个String 是 Anagrams,也就说明他们包含的字母内容完全一样,只是顺序改变了。
/* The idea is to use a hashmap to collect groups of anagrams. The way to determine whether two strings are anagrams is to sort them
and see if sorted strings are identical.*/import java.util.*;public class Solution { public ArrayList<String> anagrams(String[] strs) { // Start typing your Java solution below // DO NOT write main() function ArrayList<String> result = new ArrayList<String>(); HashMap<String,ArrayList<String>> map = new HashMap<String,ArrayList<String>>(); for(String str : strs){ char[] tempstr= str.toCharArray(); Arrays.sort(tempstr); String sortedstr = new String(tempstr); if(map.containsKey(sortedstr)){ map.get(sortedstr).add(str); }else{ ArrayList<String> list = new ArrayList<String>(); list.add(str); map.put(sortedstr,list); } } for(ArrayList<String> list:map.values()) if(list.size()>1) for(String str : list) result.add(str); return result; }}
0 0
- LeetCode: Anagrams
- LeetCode: Anagrams
- LeetCode Anagrams
- Leetcode: Anagrams
- [Leetcode] Anagrams
- LeetCode : Anagrams
- [leetcode] anagrams
- LeetCode Anagrams
- [LeetCode] Anagrams
- [LeetCode]Anagrams
- [leetcode]Anagrams
- leetcode anagrams
- [leetcode] Anagrams
- LeetCode-Anagrams
- LeetCode - Anagrams
- Leetcode: Anagrams
- 【Leetcode】Anagrams
- LeetCode Anagrams
- Oracle触发器 小例子
- sqlserver并发处理,锁和事务
- Java基本开发环境搭建
- Spring+iBatis+Atomikos实现JTA事务
- 利用phpmyadmin修改mysql的root密码及如何进入修改密码后的phpmyadmin
- Anagrams - LeetCode
- 坑爹的SET XACT_ABORT
- android 线性布局 位置 详解
- 树莓派文本转化为语音
- 块设备,字符设备,裸设备
- nfs mount 失败,NFS mount failed, reason given by server: Permission denied 的解决办法
- 用Java预编译写出sql的Delete方法
- phpcms 采集文章导入不了原因及解决
- linux磁盘分区详解