LeetCode -- Regular Expression Matching
2014-09-21 23:00
351 查看
正则表达式匹配:
Implement regular expression matching with support for
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). The function prototype should be: bool isMatch(const char *s, const char *p) Some examples: isMatch("aa","a") → false isMatch("aa","aa") → true isMatch("aaa","aa") → false isMatch("aa", "a*") → true isMatch("aa", ".*") → true isMatch("ab", ".*") → true isMatch("aab", "c*a*b") → true
class Solution { public: bool isMatch(const char *s, const char *p) { if(p[0] == '\0') return s[0] == '\0'; if(p[0] == '*') return isMatch(s, p + 1); if(p[1] == '*'){ if(s[0] == '\0') return isMatch(s, p + 2); if(p[0] == '.') return isMatch(s + 1, p) || isMatch(s, p + 2); return (s[0] == p[0] && isMatch(s + 1, p)) || isMatch(s, p + 2); } else { if(p[0] == '.') return s[0] != '\0' && isMatch(s + 1, p + 1); return s[0] == p[0] && isMatch(s + 1, p + 1); } } };
相关文章推荐
- leetcode 10 -- Regular Expression Matching
- LeetCode 10: Regular Expression Matching
- [leetCode] Regular Expression Matching
- **LeetCode-Regular Expression Matching
- LeetCode Regular Expression Matching
- [Leetcode 10, Hard] Regular Expression Matching
- [leetcode]Regular Expression Matching
- LeetCode Regular Expression Matching
- LeetCode题解——Regular Expression Matching
- leetcode 10: Regular Expression Matching 分析及解答
- [leetcode]Regular Expression Matching
- LeetCode----10**. Regular Expression Matching
- [Leetcode] Regular Expression Matching
- [DP] LeetCode Regular Expression Matching
- LeetCode – Refresh – Regular Expression Matching
- leetcode解题报告:10 Regular Expression Matching
- Leetcode-Regular Expression Matching
- LeetCode 10. Regular Expression Matching
- [leetcode] Regular Expression Matching
- [LeetCode] Regular Expression Matching