Group Anagrams java代码实现
2017-12-09 22:28
621 查看
题目的需求:将
For example, given:
Return:[["ate", "eat","tea"], ["nat","tan"],["bat"]]
思路:首先将每个字符串按照asc码进行排序,然后eat 就成了aet,以aet为key, eat,tea,构成的list为value进行返回即可。
publicstatic
List<List<String>> groupAnagrams(String[]
strs) {
List<List<String>>
listb=new
LinkedList<List<String>>();
Map<String,List<String>>
map=new
HashMap<String,List<String>>();
for
(int
i
= 0;
i
<
strs.length;
i++) {
char[]
charArray
=
strs[i].toCharArray();
[align=left] Arrays.sort(charArray);[/align]
String
string
=
new
String(charArray);
[align=left] System.out.println(string);[/align]
[align=left] if(map.containsKey(string)){[/align]
List<String>
list
=
map.get(string);
[align=left] list.add(strs[i]);[/align]
[align=left] }else{[/align]
LinkedList<String>
linkedList
=
new
LinkedList<String>();
[align=left] linkedList.add(strs[i]);[/align]
[align=left] map.put(string,linkedList);[/align]
[align=left] }[/align]
[align=left] }[/align]
for
(String
key:map.keySet())
{
[align=left] listb.add(map.get(key));[/align]
[align=left] }[/align]
return
listb;
[align=left] }[/align]
For example, given:
["eat", "tea", "tan", "ate", "nat", "bat"],
Return:[["ate", "eat","tea"], ["nat","tan"],["bat"]]
思路:首先将每个字符串按照asc码进行排序,然后eat 就成了aet,以aet为key, eat,tea,构成的list为value进行返回即可。
publicstatic
List<List<String>> groupAnagrams(String[]
strs) {
List<List<String>>
listb=new
LinkedList<List<String>>();
Map<String,List<String>>
map=new
HashMap<String,List<String>>();
for
(int
i
= 0;
i
<
strs.length;
i++) {
char[]
charArray
=
strs[i].toCharArray();
[align=left] Arrays.sort(charArray);[/align]
String
string
=
new
String(charArray);
[align=left] System.out.println(string);[/align]
[align=left] if(map.containsKey(string)){[/align]
List<String>
list
=
map.get(string);
[align=left] list.add(strs[i]);[/align]
[align=left] }else{[/align]
LinkedList<String>
linkedList
=
new
LinkedList<String>();
[align=left] linkedList.add(strs[i]);[/align]
[align=left] map.put(string,linkedList);[/align]
[align=left] }[/align]
[align=left] }[/align]
for
(String
key:map.keySet())
{
[align=left] listb.add(map.get(key));[/align]
[align=left] }[/align]
return
listb;
[align=left] }[/align]
相关文章推荐
- Group Anagrams--java的实现方式
- LeetCode 49 Group_Anagrams Java实现
- 优酷电视剧爬虫代码实现一:下载解析视频网站页面(4)补充: Java正则表达式Matcher.group(int group)相关类解析
- 使用RadioGroup实现底部导航栏效果,不需要java代码。
- 实现高效的数据库连接池(附带完整代码C#和Java实现)
- 利用newxy(新坐标),不写一行java代码实现多项查询
- JAVA 实现内存管理 和 LOG 保存的 代码
- Java中数据库事务处理的实现-JSP教程,Java技巧及代码
- 实现高效的数据库连接池(附带完整代码C#和Java实现)
- Java2实用教程(第二版)程序代码——第二十六章 常见数据结构的Java实现
- java代码中实现字符编码转换(解决中文乱码问题)
- Jsp/Java代码分离.实现页面真正的代码分离 前言
- 用java实现论坛ubb的代码
- Java实现将Map转换为List的小代码
- Jsp/Java代码分离.实现页面真正的代码分离 实现框架代码:BasePage,TextBox,BasePageFilter
- Jsp/Java代码分离.实现页面真正的代码分离 测试代码是否按想法运行,下载原代码
- JAVA代码操作MS AD实现单点登录
- 用java实现简单的网络通信,相当于一个最简单的控制台qq(附代码) 推荐
- newxy+struts实现零java代码或极少java代码开发以数据为中心的web运用系统 作者:胡立新
- 代码解说一个网络爬虫的实现过程(一) http://www.it-park.cn/Group/TopicInfo.aspx?TopicIndex=6