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

正则表达式匹配

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

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param str string字符串 
     * @param pattern string字符串 
     * @return bool布尔型
     */
    bool match(string str, string pattern) {
        // write code here
        if(pattern.empty())
            return str.empty();
        
        bool firstMatch = (!str.empty() && (str[0]==pattern[0] || pattern[0]=='.'));

        if(pattern.length()>=2&&pattern[1]=='*')
        {
            return (match(str, pattern.substr(2)) || (firstMatch && match(str.substr(1), pattern)));
        }else {
            return firstMatch && match(str.substr(1),  pattern.substr(1));
        }
    }
};

#剑指OFFER#
剑指offer刷题 文章被收录于专栏

坚持!努力!学习

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务