## [每日LeetCode] 1002. Find Common Characters

|     |   666 浏览

Description:

Given an array `A` of strings made only from lowercase letters, return a list of all characters that show up in all strings within the list (including duplicates) .  For example, if a character occurs 3 times in all strings but not 4 times, you need to include that character three times in the final answer.

You may return the answer in any order.

Example 1:

``````Input: ["bella","label","roller"]
Output: ["e","l","l"]
``````

Example 2:

``````Input: ["cool","lock","cook"]
Output: ["c","o"]
``````

Note:

1. `1 <= A.length <= 100`
2. `1 <= A[i].length <= 100`
3. `A[i][j]`is a lowercase letter

C++代码

``````class Solution
{
public:
vector<string> commonChars(vector<string> &A)
{
vector<string> res;
vector<int> count(26, INT_MAX);
for (auto a : A)
{
vector<int> count_min(26, 0);
for (auto c : a)
++count_min[c - 'a'];
for (int i = 0; i < 26; i++)
count[i] = min(count_min[i], count[i]);
}
for (int i = 0; i < 26; i++)
{
for (int j = 0; j < count[i]; j++)
{
res.push_back(string(1, i + 'a'));
}
}
return res;
}
``````