字符串匹配问题

2017/10/11 刷题 算法 刷题
  本文为「原创」内容,如需转载请注明出处!             
本文共 589 字,需 7 分钟阅读

问题

假设两个字符串中所含有的字符和个数都相同我们就叫这两个字符串匹配,比如:abcda和adabc, 由于出现的字符个数都是相同,只是顺序不同,所以这两个字符串是匹配的。实现一个高效的匹配函数

解法

直接使用字典来解决

class Solution:
    def IsMatched(self,str1,str2):
        lenStr1 = len(str1)
        lenStr2 = len(str2)
        if lenStr1  != lenStr2:
            return False
        strDict ={}
        
        for v in str1:
            if not v in strDict:
                strDict[v] =0
            strDict[v] +=1

        for v in str2:
            if not v in strDict:
                return False
            strDict[v] -=1
            if strDict[v] < 0:
                return False
        return True

搜索

    文章目录