Leetcode 之Anagrams(35)
Posted 牧马人夏峥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode 之Anagrams(35)相关的知识,希望对你有一定的参考价值。
回文构词法,将字母顺序打乱。可将字母重新排序,若它们相等,则属于同一组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() > 1) result.insert(result.end(), it->second.begin(), it->second.end()); } return result; }
以上是关于Leetcode 之Anagrams(35)的主要内容,如果未能解决你的问题,请参考以下文章