比较两个字符串是否匹配,由于有".","*"等特殊字符可通过递归或动态规划的方式求解,
递归:

  1. 当模式串 p[0] == s[0] or p[0] == "."时,s及p指针向前移动,
  2. 当p[0] == s[0] and p[1] == "*"时,
    2.1 s可移动一位,p匹配且不移动(匹配1...n位),直到 s[0] != p[0]
    2.2 s不移动,p匹配 0 位
    代码(参考大佬写法)
    def match(self , s , p ):
         # write code here
         if not p:
             return not s
         f = bool(s) and p[0] in [s[0], "."]
         if len(p) > 1 and p[1] == "*":
             return self.match(s, p[2:]) or (f and self.match(s[1:], p))
         else:
             return f and self.match(s[1:], p[1:])