44. Wildcard Matching 递归超时写法,不过面试写成这样应该没毛病吧==!

class Solution {
public:
    bool isMatch(string s, string p) {
        
        if (s.size() == 0 && p.size() == 0){
            return true;
        }
        
        return dfs(s, p, s.size() - 1, p.size() - 1);
    }
    
    bool dfs(string s, string p, int i, int j){
        if (j < 0){
            if (i < 0){
                return true;
            }else {
                return false;
            }
        }
        if (i >= 0 && (p[j] == '?' || p[j] == s[i])){
            if (dfs(s, p, i - 1, j - 1)){
                return true;
            }
        }
        
        if (p[j] == '*'){
            if (i >= 0 && dfs(s, p, i - 1, j)){
                return true;
            }
            if (dfs(s, p, i, j - 1)){
                return true;
            }  
        }
        
        return false;
    }
};
已邀请:

要回复问题请先登录注册

返回顶部