leetcode Anagrams

来源:互联网 发布:vb msdn中文版下载 编辑:程序博客网 时间:2024/06/03 21:21

Given an array of strings, return all groups of strings that are anagrams.

Note: All inputs will be in lower-case.


这个是找出所有的回购词

#include <vector>#include <string>#include <algorithm>#include <iterator>#include <map>#include <iostream>using std::vector;using std::string;using std::map;using std::cout;class Solution {public:    vector<string> anagrams(vector<string>& strs) {        vector<string> temp;        map<string,vector<string>> m;                for_each(strs.begin(),strs.end(),[&](string str)        {            string n= str;            sort(n.begin(),n.end());            m[n].push_back(str);        });                for (auto iter = m.begin();iter != m.end();++iter)        {            if (iter->second.size() > 1){copy(iter->second.begin(),iter->second.end(),back_inserter(temp));}        }                return temp;    }};int main(){Solution sol;vector<string> v;v.push_back("tea");v.push_back("tae");v.push_back("and");v.push_back("dan");sol.anagrams(v);}


0 0