题目
解题思路
这是一个动态规划问题,需要考虑多种匹配情况:
- 定义 d p [ i ] [ j ] dp[i][j] dp[i][j] 表示 s t r str str 的前 i i i 个字符和 p a t t e r n pattern pattern 的前 j j j 个字符是否匹配
- 对于 p a t t e r n [ j − 1 ] pattern[j-1] pattern[j−1] 的不同情况:
- 如果是普通字符:需要 s t r [ i − 1 ] = = p a t t e r n [ j − 1 ] str[i-1] == pattern[j-1] str[i−1]==pattern[j−1]
- 如果是’.':可以匹配任意字符
- 如果是’*':可以匹配0次或多次前面的字符
- 对于’*'的情况需要考虑:
- 匹配 0 0 0 次: d p [ i ] [ j ] = d p [ i ] [ j − 2 ] dp[i][j] = dp[i][j-2] dp[i][j]=dp[i][j

最低0.47元/天 解锁文章
907

被折叠的 条评论
为什么被折叠?



