# [LeetCode]#1002. Find Common Characters

--

Environment: Python 3.8

Key technique: Counter

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"]`

Analysis:

1. Use Counter for counting A[0] string.
2. Check c &= A[1] result
3. Check c &= A[2] result
4. Return result

Solution:

`from collections import Counterclass Solution:    def commonChars(self, A):        if not A:            return None                c = Counter(A[0])                    for word in A[1:]:            c &= Counter(word)                            ans = []        for x in c:            ans += [x] * c[x]        return ans`

Submissions:

Reference:

https://leetcode.com/problems/find-common-characters/discuss/1015608/clean-python-solution