Regular Expression Matching
来源:互联网 发布:aes java代码 编辑:程序博客网 时间:2024/04/30 09:18
class Solution {public: bool isMatch(const char *s, const char *p) { return match(s, 0, p, 0, 0); } bool match(const char*s, int i, const char* p, int j, char lastChar){ if(i>=strlen(s) && j>=strlen(p)) return true; if(lastChar!=0){ if(i>strlen(s)) //no need go deeper return false; bool b1 = match(s, i, p, j, 0); bool b2 = 0; if(lastChar == s[i] || lastChar=='.'){ b2 = match(s, i+1, p, j, lastChar); }return b1||b2; } if(j+1<strlen(p) && p[j+1]=='*'){ char c = p[j]; j+=2; while(j<strlen(p) && p[j]==c && j+1<strlen(p) && p[j+1]=='*') //a*a*a*a* j+=2; return match(s, i, p, j, c); } if(j>=strlen(p) || i>=strlen(s)) //after check c* return false; if(s[i] == p[j] || p[j]=='.') return match(s, i+1, p, j+1, lastChar); else return false; }};
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") → falseisMatch("aa","aa") → trueisMatch("aaa","aa") → falseisMatch("aa", "a*") → trueisMatch("aa", ".*") → trueisMatch("ab", ".*") → trueisMatch("aab", "c*a*b") → true
0 0
- LeetCode: Regular Expression Matching
- LeetCode: Regular Expression Matching
- leetcode Regular Expression Matching
- [Leetcode] Regular Expression Matching
- Regular Expression Matching
- Regular Expression Matching
- [LeetCode]Regular Expression Matching
- Regular Expression Matching
- LeetCode-Regular Expression Matching
- Regular Expression Matching
- Regular Expression Matching LeetCode
- Regular Expression Matching
- LeetCode | Regular Expression Matching
- LeetCode: Regular Expression Matching
- Leetcode: Regular Expression Matching
- [LeetCode] Regular Expression matching
- [LeetCode] Regular Expression Matching
- LeetCode Regular Expression Matching
- 原子访问
- 程序执行时错误与解析收集
- java代理服务器设置
- 配置IIS
- apache配置 php中没有php5apache2_4.dll
- Regular Expression Matching
- POJ1699 找出最短的基因组合序列
- 使用Innosetup打包程序注册COM组件
- osg的灯光使用
- Java Map
- Java中Set的使用
- Introduction to DTD
- Linux Slub分配器(五)--释放对象 .
- FreeModbus源码分析