leetcode-49. Group Anagrams
来源:互联网 发布:我的淘宝没有我要开店 编辑:程序博客网 时间:2024/05/22 12:21
https://leetcode.com/problems/group-anagrams/#/description
问题描述:
Given an array of strings, group anagrams together.For example, given: ["eat", "tea", "tan", "ate", "nat", "bat"], Return:[ ["ate", "eat","tea"], ["nat","tan"], ["bat"]]
思路解析:
给定一个String数组:里面有同一个单词的乱序(当然都是有实际意义的单词),需要将同一个单词的各种变形都找出来。
数据结构:ArrayList,HashMap
map中是以k-v的形式存储,所以key为原始单词(按照字母排序),value中存储的就是该单词的各种变形。这样就可以将同一个单词的各种变形保存到一个map当中。因为k相同。
每次添加新的元素的时候需要进行判断,该k是否存在对应的map若存在,直接添加进去,否则新创建一个map。
将每一个map中key相同的value存储到List中即可
代码如下:
public class Solution { public List<List<String>> groupAnagrams(String[] strs) { List<List<String>> result=new ArrayList<List<String>>(); Map<String,List<String>> map=new HashMap<>(); for(int i=0;i<strs.length;i++) { String t=strs[i]; char[] c=strs[i].toCharArray(); Arrays.sort(c); if(!map.containsKey((String.valueOf(c)))) { List<String> temp=new ArrayList<>(); temp.add(t); map.put(String.valueOf(c),temp); }else { map.get(String.valueOf(c)).add(t); } } for(List<String> k:map.values() ) { result.add(k); } return result; }}
阅读全文
0 0
- [leetcode] 49.Group Anagrams
- LeetCode 49. Group Anagrams
- [LeetCode]49. Group Anagrams
- leetcode 49. Group Anagrams
- 49. Group Anagrams LeetCode
- Leetcode 49. Group Anagrams
- LeetCode 49. Group Anagrams
- LeetCode 49. Group Anagrams
- [leetcode] 49. Group Anagrams
- LeetCode 49. Group Anagrams
- LeetCode-49.Group Anagrams
- [Leetcode] 49. Group Anagrams
- LeetCode - 49. Group Anagrams
- [LeetCode] 49. Group Anagrams
- leetcode 49. Group Anagrams
- [leetcode] 49. Group Anagrams
- leetcode 49. Group Anagrams
- [LeetCode]--49. Group Anagrams
- GetSafeHwnd 解释
- 嵌入式视频方案学习第十二篇——视频编码模块VENC 一般初始化过程
- 数据结构与算法-01(算法走起)
- Codeforces Round #418 (Div. 2)
- 【论文阅读】Neural Machine Translation By Jointly Learning To Align and Translate
- leetcode-49. Group Anagrams
- iOS 笔试题~两个有序数组合并成一个有序数组
- 验证子进程退出时会给父进程发送信号的机制 、 编写父进程等待子进程的异步版本
- BigDecimal
- 从零开始-基础算法篇-插入排序
- 9、源码包管理
- VIM中的保存和退出、VIM退出命令、如何退出vim编辑、VIM命令大全
- mysql 远程登入:host:192.168.0.12 is not allowed to connect mysql
- Excel VBA高效办公应用-第五章-销售数据的处理与分析-Part2(多条件筛选及判定)