给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。用java语言实现 直接给我代码
时间: 2023-06-19 10:09:57 浏览: 111
好的,这里是基于Java语言的实现,使用哈希表来实现字母异位词的分组:
```java
public List<List<String>> groupAnagrams(String[] strs) {
Map<String, List<String>> map = new HashMap<>(); // 哈希表存储分组信息
for (String str : strs) {
char[] chs = str.toCharArray();
Arrays.sort(chs); // 对字符数组进行排序
String key = String.valueOf(chs);
if (!map.containsKey(key)) {
map.put(key, new ArrayList<>());
}
map.get(key).add(str); // 将字符串加入对应分组
}
return new ArrayList<>(map.values());
}
```
使用示例:
```java
String[] strs = {"eat", "tea", "tan", "ate", "nat", "bat"};
List<List<String>> result = groupAnagrams(strs);
System.out.println(result);
```
输出结果:
```
[[eat, tea, ate], [bat], [tan, nat]]
```
阅读全文