Regular Expression Matching
2014-07-08 05:28
288 查看
public class Solution { public boolean isMatch(String s, String p) { if(p.length() == 0) { return s.length() == 0; } if(p.length() == 1) { return s.length() == 1 && (p.charAt(0) == '.' || s.equals(p)); } // p.length() > 1 if(p.charAt(1) != '*') { return s.length() > 0 && (p.charAt(0) == '.' || s.charAt(0) == p.charAt(0)) && isMatch(s.substring(1, s.length()), p.substring(1, p.length())); } else { int i = 0; for( ; i < s.length() && (p.charAt(0) == '.' || s.charAt(i) == p.charAt(0)); i++) { if(isMatch(s.substring(i, s.length()), p.substring(2, p.length()))) { return true; } } return isMatch(s.substring(i, s.length()), p.substring(2, p.length())); } } }
Time: O(n^2)
Space: O(n^2)
相关文章推荐
- 【leetCode】Regular Expression Matching
- No10-Regular Expression Matching
- LeetCode 10 Regular Expression Matching(字符串匹配)
- Regular Expression Matching(LeedCode)
- leetcode题解c++ | 10. Regular Expression Matching
- [LeetCode] Regular Expression Matching
- Regular Expression Matching
- Leetcode 10: Regular Expression Matching
- 【LeetCode算法练习(C++)】Regular Expression Matching
- [LeetCode-Algorithms-10] "Regular Expression Matching" (2017.10.12-WEEK6)
- LeetCode week 11 : Regular Expression Matching
- leetcode -- Regular Expression Matching
- 简单的正则表达式匹配 Regular Expression Matching
- 多正则表达式匹配(Multiple Regular Expression Matching)
- LeetCode题解: Regular Expression Matching
- Regular Expression Matching
- LeetCode 010 Regular Expression Matching
- LeetCode Regular Expression Matching
- Regular Expression Matching
- LeetCode--Regular Expression Matching