Description
Given a string array words
, return an array of all characters that show up in all strings within the words
(including duplicates). You may return the answer in any order.
Example 1:
Input: words = ["bella","label","roller"] Output: ["e","l","l"]
Example 2:
Input: words = ["cool","lock","cook"] Output: ["c","o"]
Constraints:
1 <= words.length <= 100
1 <= words[i].length <= 100
words[i]
consists of lowercase English letters.
Solution
Python3
class Solution:
def commonChars(self, words: List[str]) -> List[str]:
count = [inf] * 26
for word in words:
curr = [0] * 26
for c in word:
curr[ord(c) - ord('a')] += 1
for i in range(26):
count[i] = min(count[i], curr[i])
res = []
for i in range(26):
for _ in range(count[i]):
res.append(chr(ord('a') + i))
return res