Given an array of strings, group anagrams together.
thoughs:
//颠倒分组
codes:
public List<List<String>> groupAnagrams(String[] strs) {
if (strs == null || strs.length == 0) {
return new ArrayList<List<String>>();
}
Map<String, List<String>> map = new HashMap<String, List<String>>();
for (String s : strs) {
char[] ca = s.toCharArray();
Arrays.sort(ca);
String keyStr = String.valueOf(ca);
if (!map.containsKey(keyStr)) {
map.put(keyStr, new ArrayList<String>());
map.get(keyStr).add(s);
}
}
return new ArrayList<List<String>>(map.values());
}

本文介绍了一种用于将字符串数组中所有变位词进行分组的高效算法。通过将每个字符串转换为其排序后的字符序列作为键,可以快速识别并分组所有变位词,即由相同字符组成的单词。
488

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



