vector<string> anagrams(vector<string> &strs) {
// Note: The Solution object is instantiated only once and is reused by each test case.
unordered_map<string,vector<string>> mmap;
vector<string> res;
for(vector<string>::iterator it = strs.begin();it!=strs.end();it++)
{
string s = *it;
sort(s.begin(),s.end());
mmap[s].push_back(*it);
}
unordered_map<string,vector<string>>::iterator it = mmap.begin();
while(it!=mmap.end())
{
if(it->second.size()>1)
{
for(vector<string>::iterator sit = it->second.begin();sit!=it->second.end();sit++)
res.push_back(*sit);
}
++it;
}
return res;
}