【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;
    }

  

posted @ 2013-10-19 16:22  summer_zhou  阅读(131)  评论(0编辑  收藏  举报