题目:
比较两个字符串A和B,确定A中是否包含B中所有的字符。
注意点:
1.字符串A不仅要包含B所有的字母。
2.相同的字母个数一定是A大于等于B,这个是容易被忽视的一个点。
代码思路:
1.创建一个名为BDIC的字典记录B字符串,键对应字母,值对应字母的个数。
2.遍历A,如果遍历到的A与BDIC有相同的键,则值减1。
3.最后遍历BDIC,如果其中有一个值大于0,则说明False;反之则True。
(因为同个字母,A的个数可能会大于B的个数所以BDIC中的值会有负数出现,所以需要大于0)
代码实现(python):
class Solution:
"""
@param A: A string
@param B: A string
@return: if string A contains all of the characters in B return true else return false
"""
def compareStrings(self, A, B):
# write your code here
BDIC={}
for i in range(len(B)):
if B[i] in BDIC.keys():
BDIC[B[i]]=BDIC[B[i]]+1
else:
BDIC[B[i]]=1
for i in range(len(A)):
if A[i] in BDIC.keys():
BDIC[A[i]]=BDIC[A[i]]-1
for value in BDIC.values():
if value>0:
return False
return True