<p>给定一个字符串 (<code>s</code>) 和一个字符模式 (<code>p</code>) ,实现一个支持 <code>'?'</code> 和 <code>'*'</code> 的通配符匹配。</p><pre>'?' 可以匹配任何单个字符。'*' 可以匹配任意字符串(包括空字符串)。</pre><p>两个字符串<strong>完全匹配</strong>才算匹配成功。</p><p><strong>说明:</strong></p><ul> <li><code>s</code> 可能为空,且只包含从 <code>a-z</code> 的小写字母。</li> <li><code>p</code> 可能为空,且只包含从 <code>a-z</code> 的小写字母,以及字符 <code>?</code> 和 <code>*</code>。</li></ul><p><strong>示例 1:</strong></p><pre><strong>输入:</strong>s = "aa"p = "a"<strong><br />输出:</strong> false<strong><br />解释:</strong> "a" 无法匹配 "aa" 整个字符串。</pre><p><strong>示例 2:</strong></p><pre><strong>输入:</strong>s = "aa"p = "*"<strong><br />输出:</strong> true<strong><br />解释:</strong> '*' 可以匹配任意字符串。</pre><p><strong>示例 3:</strong></p><pre><strong>输入:</strong>s = "cb"p = "?a"<strong><br />输出:</strong> false<strong><br />解释:</strong> '?' 可以匹配 'c', 但第二个 'a' 无法匹配 'b'。</pre><p><strong>示例 4:</strong></p><pre><strong>输入:</strong>s = "adceb"p = "*a*b"<strong><br />输出:</strong> true<strong><br />解释:</strong> 第一个 '*' 可以匹配空字符串, 第二个 '*' 可以匹配字符串 "dce".</pre><p><strong>示例 5:</strong></p><pre><strong>输入:</strong>s = "acdcb"p = "a*c?b"<strong><br />输出:</strong> false</pre>