题解 | #正则表达式匹配#

正则表达式匹配

http://www.nowcoder.com/practice/28970c15befb4ff3a264189087b99ad4


int match_core(char* str,char* pattern)
{
    if (*str == '\0' && *pattern == '\0')
        return 1;
    if (*str != '\0' && *pattern == '\0')
        return 0;
    if(*str == '\0' && *pattern != '\0')
    {
        if(pattern[1]=='*')
            return match_core(str, pattern+2);
        else
            return 0;
    }
    if (pattern[1] == '*')
    {
        if(pattern[0]==str[0]||pattern[0]=='.')
            return (match_core(str + 1, pattern)||match_core(str, pattern + 2));
        else
            return match_core(str, pattern+2);

    }
    else
    {
        if ((pattern[0] == '.') || pattern[0] == str[0])
            return match_core(str + 1, pattern + 1);
        else
            return 0;
    }

}



bool match(char* str, char* pattern ) {
    if (str == NULL || pattern == NULL)
        return 0;
    return match_core(str, pattern);
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-15 17:17
听说过付费实习,没想到这么贵啊我去,要不我给你个腰子吧
哈哈哈,你是老六:这种公司一定要注意啊,不要随便签合同,只要签了后面钱可能回不来,而且你通过法律途径也弄不回
点赞 评论 收藏
分享
能干的三文鱼刷了10...:公司可能有弄嵌入式需要会画pcb的需求,而且pcb能快速直观看出一个人某方面的实力。看看是否有面试资格。问你问题也能ai出来,pcb这东西能作假概率不高
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务