# 力扣44. 通配符匹配


## 力扣44. Wildcard Matching（通配符匹配）

给你一个输入字符串 s 和一个字符模式 p，请你实现一个支持 '?' 和 '*' 匹配规则的通配符匹配。'?' 可以匹配任何单个字符，'*' 可以匹配任意字符串（包括空字符串）。要匹配整个字符串 s，而不是部分字符串。

示例 1：

![](../posts/01_学习/87_LeetCode/0044_通配符匹配/img/0044-1-description.png)

```
输入：s = "aa", p = "a"
输出：false
解释："a" 无法匹配 "aa" 整个字符串。
```

示例 2：

![](../posts/01_学习/87_LeetCode/0044_通配符匹配/img/0044-2-description.png)

```
输入：s = "aa", p = "*"
输出：true
解释：'*' 可以匹配任意字符串。
```

示例 3：

![](../posts/01_学习/87_LeetCode/0044_通配符匹配/img/0044-3-description.png)

```
输入：s = "cb", p = "?a"
输出：false
解释：'?' 可以匹配 'c'，但第二个 'a' 无法匹配 'b'。
```

提示：
- 0 <= s.length, p.length <= 2000
- s 仅由小写英文字母组成
- p 仅由小写英文字母、'?' 和 '*' 组成

