先看结果:


题目描述:

题解:
class Solution {
public List<List<String>> groupAnagrams(String[] strs) {
List<List<String>> res = new ArrayList<>();
HashMap<String, List<String>> map = new HashMap<>();
if (strs == null || strs.length == 0) return null;
for (String str : strs) {
char[] ch = str.toCharArray();
Arrays.sort(ch);
String s = new String(ch);//aet
if (map.containsKey(s)) {
map.get(s).add(str);
} else {
List<String> list = new ArrayList<>();
list.add(str);
map.put(s, list);
}
}
return map.values().stream().collect(Collectors.toList());
}
}
本文介绍了一种使用Java实现的字符串同组算法,通过将输入的字符串数组转换为字符数组进行排序,然后创建哈希映射来收集相同字符组成的字符串。解决方案展示了如何利用HashMap高效地分组Anagram字符串。
463

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



