aboutsummaryrefslogtreecommitdiff
path: root/group_anagrams.cpp
blob: a2a7c8a90350389874db576c18d6b41fa22f846d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "leetcode.h"

class Solution {
public:
  vvd(string) groupAnagrams(vector<string> &strs) {
    map<array<int, 26>, vector<string>> groups;
    for (string s : strs) {
      array<int, 26> hash = {0};
      for (char c : s)
        ++hash[c - 'a'];
      groups[hash].push_back(s);
    }
    vvd(string) ans;
    for (auto [hash, group] : groups)
      ans.push_back(group);
    return ans;
  }
};