C++/代码:

正则表达式匹配

http://www.nowcoder.com/questionTerminal/45327ae22b7b413ea21df13ee7d6429c

C++/代码

class Solution {
public:
    bool match(char* str, char* pattern) {
        if (*str == '\0' && *pattern == '\0') return true;
        if (*(pattern+1) != '*') 
            if (*str == *pattern || (*pattern == '.' && *str != '\0')) return match(str + 1,pattern + 1); //情况1或者情况2
            else return false; //str不为结束符则继续,判定pattern+1是不是*
        else {
            if (*str == *pattern || (*pattern == '.' && *str != '\0')) return  match(str,pattern + 2) || match(str + 1,pattern);
            else return match(str,pattern + 2);
        }
    }
};
全部评论

相关推荐

04-25 19:29
已编辑
宁波大学 运营
被普调的六边形战士很高大:你我美牛孩
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务