0010_Regular Expression Matching
2017-05-22 22:12
288 查看
JAVA
方法一
使用递归的方式进行判断,写了近1小时,最后显示超时。。。public boolean isMatch(String s, String p) { if (s.length() == 0 ) { return equivalentNull(p); } if (s.length() != 0 && p.length() == 0) { return false; } if (s.length() > 0 && s.charAt(0) != p.charAt(0) && p.charAt(0) != '.') { if ( p.length() > 1 && p.charAt(1) == '*'){ return isMatch(s, p.substring(2)); }else{ return false; } } if (p.length() > 1 && p.charAt(1) == '*') { return isMatch(s, p.substring(2)) || isMatch(s.substring(1), p.substring(2)) || isMatch(s.substring(1), p); } return isMatch(s.substring(1), p.substring(1)); } //equivalentNull:用来判断剩余的字符串是否可以等价于空字符串 boolean equivalentNull(String s){ if (s.length() == 0){ return true; }else if (s.length() > 1 && s.charAt(1) == '*'){ return equivalentNull(s.substring(2)); }else { return false; } }
当测试案例为
“aaaaaaaaaaaaab”
“a*a*a*a*a*a*a*a*a*a*c”
时,会超时。
相关文章推荐
- LeetCode_OJ【10】Regular Expression Matching
- Regular Expression Matching
- [LeetCode] Regular Expression Matching, Solution
- LeetCode_10 Regular Expression Matching
- 10. Regular Expression Matching *HARD*
- [LeetCode]-010-Regular_Expression_Matching
- Leetcode Regular Expression Matching O(n^2) DP
- Regular Expression Matching
- leetcode--010 Regular Expression Matching
- 【leetCode】Regular Expression Matching
- 46:Regular Expression Matching
- 【LeetCode】10. Regular Expression Matching
- Leetcode: 10. Regular Expression Matching
- 2017-09-09 LeetCode_010 Regular Expression Matching
- (算法分析Week9)Regular Expression Matching[Hard]
- [LeetCode] Regular Expression Matching - Recursively
- Regular Expression Matching LeetCode
- leetcode Wildcard Matching ,Regular Expression Matching (正则表达式匹配和通配符匹配)
- [LeetCode] Regular Expression matching
- 多正则表达式匹配(Multiple Regular Expression Matching)