49. Group Anagrams

class Solution {
    public List<List<String>> groupAnagrams(String[] strs) {
        List<List<String>> ans = new ArrayList<>();
        if (strs == null || strs.length == 0) return ans;

        Map<String, List<String>> hash = new HashMap<>();
        for (String str : strs){
            char[] cArray = str.toCharArray();
            Arrays.sort(cArray);
            String temp = new String(cArray);

            //System.out.println("str: " + str + " temp: " + temp);

            if (!hash.containsKey(temp)){
                List<String> newList = new ArrayList<>();
                newList.add(str);
                hash.put(temp, newList);
            }
            else{
                hash.get(temp).add(str);
            }
        }

        for (List<String> list : hash.values()){
            ans.add(list);
        }

        return ans;
    }
}

results for ""

    No results matching ""