Python DP top-down similar to Regex Matching
\ndef isMatch(self, s: str, p: str) -> bool:\n    dp = [[False for i in range(len(p)+1)] for j in range(len(s)+1)]\n    dp[0][0]= True\n    for i in range(1,len
```\ndef isMatch(self, s: str, p: str) -> bool:\n    dp = [[False for i in range(len(p)+1)] for j in range(len(s)+1)]\n    dp[0][0]= True\n    for i in range(1,len(p)+1):\n        if p[i-1]==\'*\':\n            dp[0][i] = dp[0][i-1]\n    for i in range(1, len(s)+1):\n        for j in range(1, len(p)+1):\n            if s[i-1]==p[j-1] or p[j-1]==\'?\':\n                dp[i][j] = dp[i-1][j-1]\n            elif p[j-1]==\'*\':\n                dp[i][j] = dp[i-1][j] | dp[i][j-1]\n    \n    return dp[-1][-1]\n```
[]