回文构词法,将字母顺序打乱。可将字母重新排序,若它们相等,则属于同一组anagrams。
可通过hashmap来做,将排序后的字母作为key。注意后面取hashmap值时的做法。
vector<string> anagrams(vector<string> &strs)
{
unordered_map<string, vector<string>> group;
for (const auto &s : strs)
{
string key = s;
sort(key.begin(), key.end());
group[key].push_back(s);
} vector<string>result;
for (auto it = group.cbegin(); it != group.cend(); it++)
{
//insert,在result.end()之前插入元素,返回指向元素的迭代器
if (it->second.size() > )
result.insert(result.end(), it->second.begin(), it->second.end());
} return result;
}