10. Regular Expression Matching
Problem:
Given an input string (s) and a pattern (p), implement regular expression matching with support for '.' and '*'.
'.' Matches any single character.
'*' Matches zero or more of the preceding element.The matching should cover the entire input string (not partial).
Note:
s could be empty and contains only lowercase letters a-z. p could be empty and contains only lowercase letters a-z, and characters like . or *.
Example 1:
Input:
s = "aa"
p = "a"
Output: false
Explanation: "a" does not match the entire string "aa".Example 2:
Input:
s = "aa"
p = "a*"
Output: true
Explanation: '*' means zero or more of the precedeng element, 'a'. Therefore, by repeating 'a' once, it becomes "aa".Example 3:
Example 4:
Example 5:
Solution:
ONE
Cheating with real RegExp matching.
TWO
Let f(i, j) be the matching result of s[0...i) and p[0...j).
☆*: .。. o(≧▽≦)o .。.:☆☆: .。. o(≧▽≦)o .。.:☆☆: .。. o(≧▽≦)o .。.:*☆
☆*: .。. o(≧▽≦)o .。.:☆☆: .。. o(≧▽≦)o .。.:*☆
Last updated
Was this helpful?