给定一个字符串数组,将相同字谜组合在一起。(字谜是指颠倒字母顺序而成的字)
例如,给定 ["eat", "tea", "tan", "ate", "nat", "bat"],返回:
[
  ["ate", "eat","tea"],
  ["nat","tan"],
  ["bat"]
]
注意:所有的输入都是小写的。
详见:https://leetcode.com/problems/group-anagrams/description/

Java实现:

class Solution {
public List<List<String>> groupAnagrams(String[] strs) {
List<List<String>> res = new ArrayList<List<String>>();
int size = strs.length;
if(size<1){
return res;
}
Map<String,List<String>> map = new HashMap<String,List<String>>();
String tmp = "";
for(int i=0;i<size;i++){
tmp = strs[i];
char[] arrayOfString = tmp.toCharArray();
Arrays.sort(arrayOfString);
tmp = new String(arrayOfString);
if(map.containsKey(tmp)){
map.get(tmp).add(strs[i]);
}else{
List<String> item = new ArrayList<String>();
item.add(strs[i]);
map.put(tmp, item);
}
}
for (List<String> value : map.values()) {
res.add(value);
}
return res;
}
}

参考:https://www.cnblogs.com/grandyang/p/4385822.html

049 Group Anagrams 字谜分组的更多相关文章

  1. LeetCode 49: 字母异位词分组 Group Anagrams

    LeetCode 49: 字母异位词分组 Group Anagrams 题目: 给定一个字符串数组,将字母异位词组合在一起.字母异位词指字母相同,但排列不同的字符串. Given an array o ...

  2. [LeetCode] 49. Group Anagrams 分组变位词

    Given an array of strings, group anagrams together. For example, given: ["eat", "tea& ...

  3. [Swift]LeetCode49. 字母异位词分组 | Group Anagrams

    Given an array of strings, group anagrams together. Example: Input: ["eat", "tea" ...

  4. LeetCode第[49]题(Java):Group Anagrams

    题目:同字符分组 难度:Medium 题目内容: Given an array of strings, group anagrams together. 翻译:给定一组字符串数组,按相同字符组成的字符 ...

  5. [LeetCode] 249. Group Shifted Strings 分组偏移字符串

    Given a string, we can "shift" each of its letter to its successive letter, for example: & ...

  6. LeetCode - 49. Group Anagrams

    49. Group Anagrams Problem's Link ------------------------------------------------------------------ ...

  7. Group Anagrams

    Given an array of strings, group anagrams together. For example, given: ["eat", "tea& ...

  8. 【Leetcode】【Medium】Group Anagrams

    Given an array of strings, group anagrams together. For example, given: ["eat", "tea& ...

  9. 49. Group Anagrams

    Given an array of strings, group anagrams together. For example, given: ["eat", "tea& ...

随机推荐

  1. 第十五章-Web开发

    随着web的发展, 最开始使用的CS架构已经不适合web了, 现在web使用的架构是BS架构 如今大部分重量级的软件都以web形式提供了 web开发的四个阶段 1) 静态web页面 2) CGI: 静 ...

  2. Python: scikit-image binary descriptor

    这个用例说明 BRIEF binary description algorithm from skimage import data from skimage import transform as ...

  3. BZOJ4836: [Lydsy1704月赛]二元运算

    BZOJ4836: [Lydsy1704月赛]二元运算 https://lydsy.com/JudgeOnline/problem.php?id=4836 分析: 分开做,维护两个桶. 分治每次求\( ...

  4. 「LOJ#10072」「一本通 3.2 例 1」Sightseeing Trip(无向图最小环问题)(Floyd

    题目描述 原题来自:CEOI 1999 给定一张无向图,求图中一个至少包含 333 个点的环,环上的节点不重复,并且环上的边的长度之和最小.该问题称为无向图的最小环问题.在本题中,你需要输出最小环的方 ...

  5. 「USACO08DEC」「LuoguP2922」秘密消息Secret Message(AC自动机

    题目描述 Bessie is leading the cows in an attempt to escape! To do this, the cows are sending secret bin ...

  6. jquery.one()

    one() 方法为被选元素附加一个或多个事件处理程序,并规定当事件发生时运行的函数. 当使用 one() 方法时,每个元素只能运行一次事件处理器函数. 也就是,绑定的function,只会执行一次. ...

  7. Oracle创建表,并添加默认值和备注

    create table testemp( id varchar2(50) default sys_guid(),deptno varchar2(20) ,--部门编码 ename varchar2( ...

  8. java代码优化(1)---

    代码的优化,需要考虑的维度很多.但是代码的优化并不是减少代码量,有的时候我们需要增加代码来提高代码的可读性. 1.正确标记变量 2.封装某个动作 3.注意函数的写法 4.不容易理解的东西,加注释

  9. mysql的SQL_CALC_FOUND_ROWS /FOUND_ROWS()

    在很多分页的程序中都这样写: SELECT COUNT(*) from `table` WHERE ......;  查出符合条件的记录总数 SELECT * FROM `table` WHERE . ...

  10. 利用java在服务器和客服端建立连接,进行通讯(代码实例)

    客服端代码:有注释 package javanet; import java.io.IOException; import java.io.InputStream; import java.io.Ou ...