Regular Expression Matching
来源:互联网 发布:腾讯云域名实名认证 编辑:程序博客网 时间:2024/06/05 20:54
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') return *s == '\0'; if(*(p+1) == '*') { while(*s != '\0' && (*s == *p || *p == '.')) { if(isMatch(s, p + 2)) return true; s++; } return isMatch(s, p + 2); } else { if(*s != '\0' && (*s == *p || *p == '.')) { return isMatch(s + 1, p + 1); } return false; } }};
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
- Qt 2048
- POJ 题目1995 Raising Modulo Numbers(快速幂)
- 大仙说道之Android studio实现Service AIDL
- (DS 《算法竞赛入门经典》)LA 3644 X-Plosives(并查集)
- candy
- Regular Expression Matching
- 锋利的SQL2014:使用NULL比较搜索条件
- 锋利的SQL2014:SQL的同时操作概念
- pat:hello world test
- IOS开发的一些细微知识点
- <div>手绘页面布局(上下左右中)
- cocos2d-x CCControlButton,九妹图用按钮
- IMread和cvloadimage
- Oracle事务原理探究2--读书笔记五