题解:Regular Expression Matching
来源:互联网 发布:python 实现http接口 编辑:程序博客网 时间:2024/06/06 01:36
题目:
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
主要运用递归,一步一步地去看字串是不是匹配的,中间的方法其实比较常见。但是这道题的写出其实还是参照了下别人的方法,理解了比较长的时间,花费的时间大多在这个研习上,感觉递归虽然方便但是这个可能不是特别优秀的算法,但是能通过judge就当作可行了吧
bool isMatch(string s, string p) { const char* s0 = s.c_str(); const char* p0 = p.c_str(); if (*(p0 + 1) == '*') { while ((*s0 != '\0' && *p0 == '.') || *s0 == *p0) { if (isMatch(s0, p0 + 2))return true; s0++; } return isMatch(s0, p0 + 2); } else if ((*s0 != '\0' && *p0 == '.') || *s0 == *p0) { return isMatch(s0 + 1, p0 + 1); } return false; }
0 0
- 题解:Regular Expression Matching
- LeetCode题解: Regular Expression Matching
- LeetCode 题解(13):Regular Expression Matching
- leetcode题解||Regular Expression Matching 问题
- LeetCode题解--10. Regular Expression Matching
- LeetCode题解-10-Regular Expression Matching
- leetcode题解c++ | 10. Regular Expression Matching
- 10. Regular Expression Matching LeetCode题解
- Leetcode题解---Regular Expression Matching Java实现
- Lintcode154 Regular Expression Matching solution 题解
- leetcode题解-10. Regular Expression Matching
- 010_LeetCode_10 Regular Expression Matching 题解
- LeetCode题解——10Regular Expression Matching
- LEETCODE 10 Regular Expression Matching (JAVA题解)
- LeetCode: Regular Expression Matching
- LeetCode: Regular Expression Matching
- leetcode Regular Expression Matching
- [Leetcode] Regular Expression Matching
- 含有指针成员的类的构造函数、拷贝构造函数、赋值运算符
- 人眼对灰度等级的敏感程度
- 网络攻防之——WEB漏洞扫描
- OCILIB ThreadPool使用总结
- opj线性表Placing apples 题解
- 题解:Regular Expression Matching
- 如何平衡工作与生活?真相在此
- 最长公共子序列
- 链表倒数第n个节点
- CCF 分蛋糕 Java实现
- 回归原理解析
- 向类中添加方法
- 反转问题POJ_3276
- 实验室智能管理系统(2)——Arm+QT部分(一)