Easy To understand
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```\nclass Solution:\n    def isMatch(self, s: str, p: str) -> bool:\n        i, j = 0, 0\n        last_match, star = 0, -1\n\n        while i < len(s):\n            if j < len(p) and (s[i] == p[j] or p[j] == \'?\'):\n                i += 1\n                j += 1\n            elif j < len(p) and p[j] == \'*\':\n                last_match = i\n                star = j\n                j += 1\n            elif star != -1:\n                j = star + 1\n                i = last_match + 1\n                last_match += 1\n            else:\n                return False\n\n        while j < len(p) and p[j] == \'*\':\n            j += 1\n\n        return j == len(p)\n        ##Upvote me If it helps\n\n```
['Python3']