通配符匹配
问题简述
请实现支持'?'and'*'.的通配符模式匹配
'?' 可以匹配任何单个字符。
'*' 可以匹配任何字符序列(包括空序列)。
详细用例见链接思路:动态规划
定义
dp(i, j)表示s[:i]与p[:j]能否匹配;分情况讨论:
i==0, j==0时,匹配;i==0, j!=0时,只能当p[:j]全为*时才能匹配;i!=0, j==0时,始终不匹配;s[i - 1] == p[j - 1] or p[j - 1] == '?'时,需要dp(i-1,j-1)匹配;p[j - 1] == '*'时,需要dp(i-1,j)或dp(i,j-1)匹配;其他情况,不匹配
Last updated