【second】Anagrams
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; }