LeetCode:Group Anagrams
发布时间:2020-12-13 21:08:04 所属栏目:PHP教程 来源:网络整理
导读:Group Anagrams Total Accepted: 76941 Total Submissions: 275801 Difficulty: Medium Given an array of strings,group anagrams together. For example,given: [eat,tea,tan,ate,nat,bat] , Return: [ [ate,eat,tea],[nat,tan],[bat]] Note: For the retu
Group Anagrams
Total Accepted: 76941 Total
Submissions: 275801 Difficulty: Medium
Given an array of strings,group anagrams together. For example,given: [
["ate","eat","tea"],["nat","tan"],["bat"]
]
Note:
Subscribe to see which companies asked this question Hide Similar Problems
思路: 使用先将字符串数组排序(这样可以保证输出的顺序); 使用HashMap<String,List<String>>,key(String):是第1次出现的字符串;value(List<String>):用于保存所有相同字母乱序的值。
java code: public class Solution {
public List<List<String>> groupAnagrams(String[] strs) {
if(strs==null || strs.length==0) return new ArrayList<List<String>>();
Map<String,List<String>> map = new HashMap<String,List<String>>();
Arrays.sort(strs);
for(String str : strs) {
char[] cs = str.toCharArray();
Arrays.sort(cs);
String keyStr = new String(cs);
if(!map.containsKey(keyStr)) map.put(keyStr,new ArrayList<String>());
map.get(keyStr).add(str);
}
return new ArrayList<List<String>>(map.values());
}
} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容