Advertisement
Guest User

Untitled

a guest
Apr 6th, 2020
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.81 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     typedef pair<string, int> II;
  4.     vector<vector<string>> groupAnagrams(vector<string>& strs) {
  5.         vector<II> temp;
  6.         for (int i = 0; i < strs.size(); i++) {
  7.             string x = strs[i];
  8.             sort(x.begin(), x.end());
  9.             temp.push_back({x, i});
  10.         }
  11.         sort(temp.begin(), temp.end());
  12.        
  13.         vector<vector<string>> ans;
  14.         vector<string> cur;
  15.         for (int i = 0; i < temp.size(); i++) {
  16.             if (i == 0 || temp[i].first == temp[i - 1].first)
  17.                 cur.push_back(strs[temp[i].second]);
  18.             else {
  19.                 ans.push_back(cur);
  20.                 cur.clear();
  21.                 cur.push_back(strs[temp[i].second]);
  22.             }
  23.         }
  24.         ans.push_back(cur);
  25.         return ans;
  26.     }
  27. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement