题目描述
给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。
示例

题解
偷懒了,主要利用了Java8中的Stream。
Stream详细用法可参见
Java —— Stream的使用
代码
class Solution {
public List<List<String>> groupAnagrams(String[] strs) {
Map<String, List<String>> collect = Arrays.stream(strs).collect(
Collectors.groupingBy(
str -> {
char[] array = str.toCharArray();
Arrays.sort(array);
return new String(array);
}
)
);
return new ArrayList<>(collect.values());
}
}
性能

注意点
其实标准解法,应该使用HashMap,以排序后的字符串作为key,原始字符串作为value,达到分类的效果。
当不知道怎么写题时,想想HashMap。

这篇博客介绍了如何使用Java8的Stream API来处理字母异位词的组合问题。作者通过示例展示了如何将给定字符串数组中的字母异位词归类到一起,并提供了对应的代码实现。虽然标准做法推荐使用HashMap,但此篇博客选择了Stream简化代码。
225

被折叠的 条评论
为什么被折叠?



