👨🏫 力扣 字母异位词分组
⭐ 思路
由于互为字母异位词的两个字符串包含的字母相同,因此对两个字符串分别进行排序之后得到的字符串一定是相同的,故可以将排序之后的字符串作为哈希表的键。
🍑 AC code
class Solution {public List<List<String>> groupAnagrams(String[] strs){HashMap<String, List<String>> map = new HashMap<>();for (String s : strs){char[] arr = s.toCharArray();//字符串转字符数组Arrays.sort(arr);String idx = String.valueOf(arr);//字符数组转字符串List<String> list = map.getOrDefault(idx, new ArrayList<String>());list.add(s);map.put(idx, list);// if (map.containsKey(idx))
// {
// map.get(idx).add(s);
// } else
// {
// ArrayList<String> list = new ArrayList<String>();
// list.add(s);
// map.put(idx, list);
// }}//将 map 中值作为 list集合的初始化值List<List<String>> ans = new ArrayList<>(map.values());return ans;}
}