没什么好说的,注意一下为空的情况就行。
把p分类讨论了,然后写就行了。
class Solution(object):
def isMatch(self, s, p):
"""
:type s: str
:type p: str
:rtype: bool
"""
if p=="":
return s==""
if len(p)==1:
if len(s)==1 and (s[0]==p[0] or p[0]=='.'):
return True
else:
return False
if p[1]=='*':
if(self.isMatch(s,p[2:])):
return True
temS=s
while len(temS)>0 and (temS[0]==p[0] or p[0]=='.'):
if(self.isMatch(temS[1:],p[2:])):
return True
temS=temS[1:]
return False
else:
if len(s)>0 and (s[0]==p[0] or p[0]=='.'):
return self.isMatch(s[1:],p[1:])
return False