题目描述
blablabla
样例
blablabla
算法1
(暴力枚举) O(n2)
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) O(n2)
blablabla
时间复杂度
参考文献
python 代码
class Solution(object):
def isMatch(self, s, p):
"""
:type s: str
:type p: str
:rtype: bool
"""
if len(p) < len(s):
return False
if len(s) == 0 and len(p) == 0:
return True
if len(s) == 0 and len(p) != 0:
if len(p) > 1 and p[1] == '*':
return self.isMatch(s, p[2:])
else:
return False
if len(s) != 0 and len(p) != 0:
if len(p) > 1 and p[1] == '*':
if s[0] != p[0] and p[0] != '.':
return self.isMatch(s, p[2:])
else:
# *去0
# *取1
# * 取超过1的数
return self.isMatch(s, p[2:]) or self.isMatch(s[1:], p[2:]) or self.isMatch(s[1:], p)
else:
if s[0] == p[0] or p[0] == '.':
return self.isMatch(s[1:], s[1:])
else:
return False