题目描述
使用python 递归来完成
样例
class Solution(object):
def __init__(self):
self.pre = ''
def isMatch(self, s, p):
"""
:type s: str
:type p: str
:rtype: bool
"""
s_len = len(s)
p_len = len(p)
if p_len == 0 and s_len != 0:
return False
if s_len == 0 :
if p_len == 0 :
return True
elif p_len == 2 and p[1] == '*':
return True
elif p == '*':
return True
return False
if p[0:2] == '.*':
return self.isMatch(s[1::], p) or self.isMatch(s, p[2::])
if p[0] == '.':
return self.isMatch(s[1::],p[1::])
if p_len >= 2 and p[1] == '*':
if s[0] == p[0]:
return self.isMatch(s[1::],p)
return self.isMatch(s,p[2::])
if s[0] == p[0]:
return self.isMatch(s[1::],p[1::])
return False