标签:c style class blog code java
Given an array of strings, return all groups of strings that are anagrams.
Note: All inputs will be in lower-case.
Anagram(回文构词法)是指打乱字母顺序从而得到新的单词
回文构词法有一个特点:单词里的字母的种类和数目没有改变,只是改变了字母的排列顺序。
因此,将几个单词按照字母顺序排序后,若它们相等,则它们属于同一组anagrams
class Solution { public: vector<string> anagrams(vector<string> &strs) { unordered_map<string, vector<string>> strHash; for (auto strVal : strs) { string key = strVal; sort(key.begin(), key.end()); strHash[key].push_back(strVal); } vector<string> res; for (auto resVal : strHash) { if (resVal.second.size() > 1) { for (auto strVal : resVal.second) { res.push_back(strVal); } } } return res; } };
Leetcode:Anagrams 回文构词法,布布扣,bubuko.com
标签:c style class blog code java
原文地址:http://www.cnblogs.com/wwwjieo0/p/3778647.html