[哈希表]leetcode49:字母异位词分组(medium)
题目: 解题思路: 使用无序map也就是hash来完成,对于异位词(错为词),在单词的字符排序后,会得到一样的结果,也就是说错位词就是由一组字符以不一样的顺序排列罢了。将这组字符字符作为key值,将这组字符排列构成的错位词作为value,最后将结果添加到result中。 代码: class Solution { public : vector < vector < string >> groupAnagrams ( vector < string > & strs ) { unordered_map < string , vector < string >> recond ; //key(单词字母重新排序)->value(错位的单词) vector < vector < string >> result ; for ( const auto & str : strs ) { string temp = str ; sort ( temp . begin ( ) , temp . end ( ) ) ; //将单词字符排序,用于recode添加相同字符组成的错位单词 recond [ temp ] . push_back ( str ) ; } //遍历无序容器,将错位单词添加到result中 for ( const auto & it : recond ) result .