[LeetCode] Regular Expression Matching
来源:互联网 发布:编程学什么语言好 编辑:程序博客网 时间:2024/04/28 22:33
'.' 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次到多次。*因此在这个题目里也不会以打头形式出现。
这题需要处理的不同情况非常的多。。。
public boolean isMatch(String s, String p) {if (p.length() == 0)return s.length() == 0;// strict matchif (p.length() == 1 || p.charAt(1) != '*') {// note '*' won't be a beginning characterif (s.length() < 1|| (p.charAt(0) != '.' && s.charAt(0) != p.charAt(0)))return false;elsereturn isMatch(s.substring(1), p.substring(1));}// need to match one character followed by a '*'else {// k must start from -1// otherwise, the check will fail if s is an empty stringfor (int k = -1; k < s.length()// empty string || match&& (k < 0 || p.charAt(0) == '.' || s.charAt(k) == p.charAt(0)); k++) {if (isMatch(s.substring(k + 1), p.substring(2)))return true;}return false;}}
- LeetCode: Regular Expression Matching
- LeetCode: Regular Expression Matching
- leetcode Regular Expression Matching
- [Leetcode] Regular Expression Matching
- [LeetCode]Regular Expression Matching
- LeetCode-Regular Expression Matching
- Regular Expression Matching LeetCode
- 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
- leetcode: Regular Expression Matching
- LeetCode Regular Expression Matching
- Leetcode: Regular Expression Matching
- leetcode:Regular Expression Matching
- troubleshooting root.sh problem for oracle 10g/11g
- HDU2209:翻纸牌游戏(DFS)
- Manacher算法 最长回文子串
- 油量问题
- 类的学习!
- [LeetCode] Regular Expression Matching
- Shell脚本编程的常识
- 64位win7下OpenGL的配置
- ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES)
- android.view.View
- rm命令的强化版本
- 保护眼睛的颜色和各种背景颜色设置方法(转)
- HDU2265:Encoding The Diary
- PCM data flow - 1 - Overview