美文网首页
49. 字母异位词分组

49. 字母异位词分组

作者: 名字是乱打的 | 来源:发表于2021-07-20 22:29 被阅读0次

思路:

常规思路:利用map结构,遍历数组,key存储排序后的结果,value存有相同排序结果的字符串;

利用java8提供的stream可以快速做到这个事情:

代码:

class Solution {
        public List<List<String>> groupAnagrams(String[] strs) {
            return new ArrayList<>( Arrays.stream(strs).collect(Collectors.groupingBy(item -> {
                char[] chars = item.toCharArray();
                Arrays.sort(chars);
                return new String(chars);
            })).values());
        }
    }

也不知道为啥,可能leetcode不支持Collection?,以下代码测试未通过,符号不识别

class Solution {
        public List<List<String>> groupAnagrams(String[] strs) {
            Collection<List<String>> values = Arrays.stream(strs).collect(Collectors.groupingBy(item -> {
                char[] chars = item.toCharArray();
                Arrays.sort(chars);
                return new String(chars);
            })).values();
            return new ArrayList<>(values);
        }
    }

相关文章

网友评论

      本文标题:49. 字母异位词分组

      本文链接:https://www.haomeiwen.com/subject/tbtdmltx.html