leetcode Regular Expression Matching
2015-05-22 13:13
363 查看
Implement regular expression matching with support for
Implement regular expression matching with support for
这题提示用动态规划,以后回头在用吧
思路:因为要求是全匹配,所有只需要针对. *进程特殊处理
当有。 或者匹配时进行下一个匹配 比如 aa a. ,这里需要注意的是*匹配
0 - n字符,需要先处理下一个是*的情况 ,在处理*时候其实就是针对上一个情况判断是否丢弃
或者说是否针对src进行递推。
'.'and
'*'.
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
这题提示用动态规划,以后回头在用吧
思路:因为要求是全匹配,所有只需要针对. *进程特殊处理
当有。 或者匹配时进行下一个匹配 比如 aa a. ,这里需要注意的是*匹配
0 - n字符,需要先处理下一个是*的情况 ,在处理*时候其实就是针对上一个情况判断是否丢弃
或者说是否针对src进行递推。
class Solution { bool matchstar(const char *src,const char *dst,char c) { do{ if (match(src,dst)) return true; }while(*src != '\0' && (*src++ == c || c == '.')); return false; } bool match(const char *src,const char *dst) { if (dst[0] == '\0' && *src == '\0') return true; if (dst[1] == '*') return matchstar(src,dst+2,dst[0]); if (dst[0] == '\0' || *src == '\0') return false; if ((dst[0] == '.' || dst[0] == *src) && *src != '\0') return match(src+1,dst+1); return false; } public: bool isMatch(string s, string p) { const char *src = s.c_str(); const char *dst = p.c_str(); return match(src,dst); } };
相关文章推荐
- leetcode Regular Expression Matching
- Regular Expression Matching -- LeetCode
- 【JAVA、C++】LeetCode 010 Regular Expression Matching
- [LeetCode]题解(python):010-Regular Expression Matching
- leetcode 10 -- Regular Expression Matching
- LeetCode 10 Regular Expression Matching
- [LeetCode] 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 10. Regular Expression Matching
- leetcode 10 Regular Expression Matching
- LeetCode | Regular Expression Matching
- Regular Expression Matching_LeetCode
- LeetCode - Regular Expression Matching
- Leetcode 10 Regular Expression Matching
- leetcode 10 Regular Expression Matching