2014年5月13日星期二

Loop Solution - Regular Expression Matching ?

public class Solution {
    public boolean isMatch(String s, String p) {
        if(p.isEmpty()){
            return s.isEmpty();
        }
       
        if(p.length() == 1 || p.charAt(1)!='*'){
            if(s.length()<1 || (p.charAt(0)!='.' && p.charAt(0)!=s.charAt(0)))
                return false;
            return isMatch(s.substring(1),p.substring(1));
        }else{
            while(!s.isEmpty() && (p.charAt(0)=='.' || p.charAt(0)==s.charAt(0))){
                if(isMatch(s, p.substring(2))){
                    return true;
                }
                else{
                    s = s.substring(1);
                }
            }
            return isMatch(s, p.substring(2));
        }
    }
}

没有评论: