天题之Regular Expression Matching

来源:互联网 发布:音频矩阵 编辑:程序博客网 时间:2024/06/06 07:49

反正我是想不出来

注意几个case的情况

public class Solution {    public boolean isMatch(String s, String p) {        // 反正我是想不出来 http://www.cnblogs.com/springfor/p/3893593.html        if(p.length()==0) return s.length()==0;        if(p.length()==1) return (s.length()==1 &&(p.charAt(0)==s.charAt(0)||p.charAt(0)=='.'));                if(p.charAt(1)!='*'){            if(s.length()<1) return false;                           return (s.charAt(0)==p.charAt(0)||p.charAt(0)=='.')&&(isMatch(s.substring(1), p.substring(1)));        }else{            while(s.length()>0&&(p.charAt(0)==s.charAt(0)||p.charAt(0)=='.')){                if(isMatch(s , p.substring(2)))                    return true;                s = s.substring(1); // p= a*????; s = aaaaa????            }            return isMatch(s, p.substring(2)); // p= b*?????, s = a????        }            }}


同类型还有Wildcard Matching

0 0
原创粉丝点击