首页 > 代码库 > Leetcode:Anagrams 回文构词法
Leetcode:Anagrams 回文构词法
戳我去解题
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; } };
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。