1002. 查找共用字符
这道题没写出来,主要是不知道怎么处理重复字符,看了卡哥思路,茅塞顿开。

真的是很妙的转换。
跟着卡哥代码敲的:
class Solution {
public:
vector<string> commonChars(vector<string>& words) {
vector<string> result;
if (words.size() == 0) return result;
int hash[26] = {0};
for (auto c : words[0])
hash[c - 'a']++;
int hashOtherStr[26] = {0};
for (int i = 1; i < words.size(); ++i)
{
memset(hashOtherStr, 0, 26 * sizeof(int));
for (auto c : words[i])
hashOtherStr[c - 'a']++;
for (int k = 0; k < 26; ++k)
hash[k] = min(hash[k], hashOtherStr[k]);
}
for (int i = 0; i < 26; ++i)
{
while (hash[i])
{
string s(1, 'a' + i);
result.push_back(s);
hash[i]--;
}
}
return result;
}
};

浙公网安备 33010602011771号