讨论/《哈希表》 - 字母异位词分组/
《哈希表》 - 字母异位词分组

排序法

class Solution {
    public List<List<String>> groupAnagrams(String[] strs) {
        Map<String,List<String>> map = new HashMap<>();
        for (String i : strs){
            String sorted = sort(i);
            if (map.containsKey(sorted)){
                List<String> temp = map.get(sorted);
                temp.add(i);
                map.put(sorted,temp);
            }else{
                List<String> temp = new ArrayList<String>();
                temp.add(i);
                map.put(sorted, temp);
            }
        }
        List<List<String>> output = new ArrayList<>();
        for (String s : map.keySet()){
            output.add(map.get(s));
        }
        return output;
    }
    public String sort(String inputString){
        char tempArray[] = inputString.toCharArray();
        Arrays.sort(tempArray);
        return new String(tempArray);
    }
}
展开全部 8 讨论