题目链接
https://leetcode.com/problems/regular-expression-matching/description/
解析链接
https://blog.csdn.net/fzzying3/article/details/42057935
http://www.cnblogs.com/zuoyuan/p/3781773.html
1.边界匹配
将s和p前面,假设一个空字符
dp[0][0],两个空字符匹配,是True
然后,p中的空字符,匹配s,都是False
然后,s中的空字符,用p来匹配,如果p[i]是*的话,把p向前移动两个进行匹配。
2.状态转移方程
1.如果 当前状态不是 ”*”
a.dp[i][j]=dp[i][j-1] *代表用了前面的字母1次
b.dp[i][j]=dp[i][j-1] *代表用了前面的字母1次
c. dp[i][j]=dp[i-1][j] and s[i-1]==p[j-2] or p[j-2]==". *代表用了前面的字母多次
s[i-1]==p[j-2]是当前的字符与p字符匹配