给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。
你可以按任意顺序返回答案。
image.png
解题思路
- 用字典来存储列表第一个字符串中字母出现的个数;
- 接着遍历列表中字符串,统计其是否在字典中出现,求key的交集;
- 字母的出现次数取遍历中的最小值。
Python3代码
class Solution:
def commonChars(self, A: List[str]) -> List[str]:
l0 = {i:A[0].count(i) for i in A[0]}
for i in range(1, len(A)):
for j,k in l0.items():
if j in A[i]:
l0[j]=min(k, A[i].count(j))
else:
l0[j] = 0
ans = []
for i, j in l0.items():
for k in range(j):
ans.append(i)
return ans
网友评论