Anagrams

 

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

Note: All inputs will be in lower-case.

class Solution {
public:
    vector<string> anagrams(vector<string> &strs) {
    //就是字母 顺序打乱的 ;把每个string排序,出现的即可
    
    int i,len;
    vector<string> res;
    map<string,int> ans;
    string s;
    len=strs.size();
    for(i=0;i<len;i++)
    {
        s=strs[i];
        sort(s.begin(),s.end());
        if(ans.find(s)==ans.end())//不存在
        {
            ans[s]=i;
        }
        else
        {
            if(ans[s]>=0)//前面的也放入
            {
                res.push_back( strs[ans[s]] );
                ans[s]=-1;
            }
            res.push_back(strs[i]);
        }
    }
    return res;
    }
};