Leetcode--49. 字母异味词分组
给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。 示例: 输入: ["eat", "tea", "tan", "ate", "nat", "bat"], 输出: [ ["ate","eat","tea"], ["nat","tan"], ["bat"] ] 说明: 所有输入均为小写字母。 不考虑答案输出的顺序。 方法一: 时间复杂度O(nk) k是最长的字符串长度,n是字符串的数量 记录字符串中每个字母出现的次数,映射到哈希表中,如果两个字符串含有的字母相同且数量一致,则说明是一类 class Solution { public static List<List<String>> groupAnagrams(String[] strs) { List<List<String>> result = new ArrayList<List<String>>(); boolean used[] = new boolean[strs.length]; int i,j; for(i=0;i<strs.length;i++) { List<String> temp = null; if(used[i]!=true) //used用来表示当前字符串是否已被添加过 { temp = new ArrayList<String>(); temp.add(strs[i