Problem8941--DP21 正则表达式匹配

8941: DP21 正则表达式匹配

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 512 MiB

Description

请实现一个函数用来匹配包括 '.' 和 '*' 的正则表达式。

模式中的字符 '.' 表示任意一个字符,而 '*' 表示它前面的字符可以出现任意次(包含0次)。

在本题中,匹配是指字符串的所有字符匹配整个模式。

例如,字符串 "aaa" 与模式 "a.a" 和 "ab*ac*a" 匹配,但是与 "aa.a" 和 "ab*a" 均不匹配。

Input

第一行输入一个字符串 str。
第二行输入一个字符串 pattern。

Output

输出两个字符串的匹配结果,如果匹配则输出 true ,否则输出 false

Constraints

str 只包含从 a-z 的小写字母。
pattern 只包含从 a-z 的小写字母以及字符 . 和 *,无连续的 '*'。
1≤str.length≤1000 
1≤pattern.length≤1000

Sample 1 Input

aaa
a*a

Sample 1 Output

true

Sample 2 Input

aab
c*a*b

Sample 2 Output

true

Sample 3 Input

a
.*

Sample 3 Output

true

aaab
a*a*a*c

false

EDITORIAL

Source/Category