给定仅有小写字母组成的字符串数组 A
,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。
你可以按任意顺序返回答案。
示例 1:
输入:["bella","label","roller"]
输出:["e","l","l"]
示例 2:
输入:["cool","lock","cook"]
输出:["c","o"]
思路:从数组A的第一个字符串的第一个字符开始遍历数组A的其他字符串,如果有一个字符串不符合则break,若其他字符串中也都存在,则将该字符添加进结果中,同时将剩下的字符串中该字符清零(清零做不到,可以采用替换的方式,题目说了都是字符串小写字母)
注;str.replace(old,new[,maxnum])函数是有返回值的,不是直接对原字符串str进行替换,所以要用str=str.replace()
class Solution:
def commonChars(self, A: List[str]) -> List[str]:
res=[]
for i in range(len(A[0])):
dismatch=False
for j in range(1,len(A)):
if A[0][i] not in A[j]:
dismatch=True
break
if not dismatch:
res.append(A[0][i])
for k in range(1,len(A)):
A[k]= A[k].replace(A[0][i],'A',1)
return res