class Solution {
    public List<List<String>> groupAnagrams(String[] strs) {
        Map<String, List<String>> map = new HashMap();
        for (int i = 0; i < strs.length; i++) {
            // 将当前str排序作为该字母异位词统一存入HashMap的key
            char[] chars = strs[i].toCharArray();
            Arrays.sort(chars);
            String str = String.valueOf(chars);
            // 拿出原有key为str的List,没有就创建一个
            List<String> list = map.getOrDefault(str, new ArrayList());
            list.add(strs[i]); // 添加当前异位词到List中
            map.put(str, list); // 放回Map中
        }
        return new ArrayList(map.values());
    }
}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐