Regular Expression Matching

来源:互联网 发布:打电话不要钱的软件 编辑:程序博客网 时间:2024/04/30 19:25
南海是我们的,为南海而刷题,刷刷刷
public class Solution {    public boolean isMatch(String s, String p) {        if (p.length() == 0) {            return s.length() == 0;        } else if (p.length() == 1 || p.charAt(1) != '*') {            if (s.length() == 0) {                return false;            } else if ((s.charAt(0) != p.charAt(0)) && (p.charAt(0) != '.')) {                return false;            } else {                return isMatch(s.substring(1), p.substring(1));            }        } else {            if (isMatch(s, p.substring(2))) {                return true;            }            for (int i = 0; i < s.length() && (s.charAt(i) == p.charAt(0) || p.charAt(0) == '.'); i++) {                if (isMatch(s.substring(i + 1), p.substring(2))) {                    return true;                }            }            return false;        }    }}

0 0