Group Anagrams LeetCode solution in Java
1class Solution {2public List<List<String>> groupAnagrams(String[] strs) {3HashMap<String, ArrayList<String>> hm = new HashMap<>();4for (String s : strs) {5char ch[] = s.toCharArray();6Arrays.sort(ch);7StringBuilder sb = new StringBuilder("");8for (char c : ch) {9sb.append(c);10}11String str = sb.toString();12if (hm.containsKey(str)) {13ArrayList<String> temp = hm.get(str);14temp.add(s);15hm.put(str, temp);16} else {17ArrayList<String> temp = new ArrayList<>();18temp.add(s);19hm.put(str, temp);20}21}22System.out.println(hm);23List<List<String>> res = new ArrayList<>();24for (ArrayList<String> arr : hm.values()) {25res.add(arr);26}27return res;28}29}