regular expression matching --python

递归

class Solution(object):
    def isMatch(self, s, p):
        if not p:
            return not s
        if len(p) == 1 or p[1] != '*':
            return len(s) >0 and (p[0] == '.' or s[0] == p[0])and self.isMatch(s[1:], p[1:])
        while s and (p[0] == '.' or s[0] == p[0]):
            if self.isMatch(s, p[2:]):
                return True
            s = s[1:]
        return self.isMatch(s, p[2:])    

具体理解参考https://www.cnblogs.com/skysand/p/4292973.html

python自带正则表达式

 def isMatch(self, s, p):  
        return re.match('^' + p + '$', s) != None  

这应该是网上的两个最简洁的解题思路了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值