Regular Expression Matching(leetcode)
2018-01-06 12:16
405 查看
Regular Expression Matching(leetcode)
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(string s, string p) { if (s == "" && p == "") return true; if ((p.length() > 1 && p[1] != '*') || p.length() == 1) { if (s == "") return false; if (p[0] != s[0] && p[0] != '.') { return false; } else { return isMatch(s.substr(1, s.length()-1), p.substr(1, p.length()-1)); } } else { if (p == "") return false; if (isMatch(s, p.substr(2, p.length()-2))) return true; if (s == "") return false; for (int i = 0; i < s.length(); ++i) { if (s[i] == p[0] || (s[i] != p[0] && p[0] == '.')) { if (isMatch(s.substr(i+1, s.length()-i-1), p.substr(2, p.length()-2))) return true; } else { if (i == 0) return isMatch(s, p.substr(2, p.length()-2)); else break; } } return false; } } };
相关文章推荐
- [LeetCode] Regular Expression Matching(递归)
- Leetcode题解---Regular Expression Matching Java实现
- [leetCode] Regular Expression Matching
- regular expression matching leetcode
- Regular Expression Matching [leetcode]
- leetcode - Regular Expression Matching
- [Leetcode] Regular Expression Matching (Java)
- 【leetcode】 Regular Expression Matching
- [LeetCode][JavaScript]Regular Expression Matching
- 【LeetCode笔记】Regular Expression Matching
- LeetCode 10. Regular Expression Matching
- Leetcode : Regular Expression Matching
- [LeetCode]Regular Expression Matching(Unsolved)
- LeetCode:Regular Expression Matching
- [Leetcode]10. Regular Expression Matching
- **LeetCode-Regular Expression Matching
- leetcode 10. Regular Expression Matching
- Regular Expression Matching leetcode java
- LeetCode之10_Regular Expression Matching
- LeetCode Regular Expression Matching