(算法练习.03)比较两个字符串A和B

题目:

比较两个字符串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

在这里插入图片描述

发布了19 篇原创文章 · 获赞 4 · 访问量 527

猜你喜欢

转载自blog.csdn.net/zhuangww05/article/details/104674913