leetcode python 010

Posted 蚂蚁不在线

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode python 010相关的知识,希望对你有一定的参考价值。

#实现正则表达式匹配并支持‘.‘和‘*‘。
#‘‘匹配任何单个字符。
#‘*‘匹配前面元素的零个或多个。
#匹配应覆盖整个输入字符串(非部分)。
##Some examples:
##isMatch("aa","a") → false
##isMatch("aa","aa") → true
##isMatch("aaa","aa") → false
##isMatch("aa", "a*") → true
##isMatch("aa", ".*") → true
##isMatch("ab", ".*") → true
##isMatch("aab", "c*a*b") → true

def ismatch(s,re):
    l=[]
    for k in range(len(re)):
        if re[k]==‘*‘:
            l.append(k)
    re=‘‘.join(re.split(‘*‘))
    for i in range(len(l)):
        l[i]=l[i]-i-1
    print(re)
    print(l)
    flg=0
    for i in range(len(s)):
        ## *退出
        while flg  in l and s[i]!=re[flg] and re[flg]!=‘.‘:            
            flg+=1
        if flg==len(re):
            return False,‘re too short‘
        if flg  not in l:
            if s[i]==re[flg] or re[flg]==‘.‘:
                flg+=1
            else:
                return False,‘no *‘
        if i==len(s)-1:
            if flg==len(re):
                return True,‘perfect‘
            else:
                return False,‘re too long‘
       

print(ismatch("aaaaab", "c*a*."))













































以上是关于leetcode python 010的主要内容,如果未能解决你的问题,请参考以下文章

leetcode刷题17.相交链表——Java&python版

LeetCode——010 Regular Expression Matching

LeetCode-010-正则表达式匹配

LeetCode 010 Regular Expression Matching - Java

python二分查找

LeetCode刷题--点滴记录010