给每一个string元素排序储存数组来比较简单方便!

class Solution {
public:
  int check[10000];
  string check_str[10000];
    vector<vector<string>> groupAnagrams(vector<string>& strs) {
      vector<vector<string>>res;
      memset(check,0,sizeof(check));
        for(int i=0;i<strs.size();++i){
          check_str[i]=strs[i];
          sort(check_str[i].begin(),check_str[i].end());
        }
        string current;
        for(int i=0;i<strs.size();++i){
          if(check[i])continue;
          else check[i]=1;
          vector<string>temp;
          temp.push_back(strs[i]);
          current=check_str[i];
          for(int j=i+1;j<strs.size();++j){
            if(check[j])continue;
            if(current==check_str[j]){
              temp.push_back(strs[j]);
              check[j]=1;          
            }
          }
          res.push_back(temp);
        }
        return res;
    }
};
收藏 打印