zoukankan      html  css  js  c++  java
  • leetcode[10]Regular Expression Matching

    Implement regular expression matching with support for '.' and '*'.

    '.' Matches any single character.
    '*' Matches zero or more of the preceding element.
    
    The matching should cover the entire input string (not partial).
    
    The function prototype should be:
    bool isMatch(const char *s, const char *p)
    
    Some examples:
    isMatch("aa","a") → false
    isMatch("aa","aa") → true
    isMatch("aaa","aa") → false
    isMatch("aa", "a*") → true
    isMatch("aa", ".*") → true
    isMatch("ab", ".*") → true
    isMatch("aab", "c*a*b") → true
    class Solution {
    public:
        bool isMatch(const char *s, const char *p) {
        if (*p=='')
            return *s=='';
        if (*(p+1)=='*')
        {
            while((*s!='')&&((*s==*p)||(*p=='.')))
            {
                if (isMatch(s,p+2))
                {
                    return true;
                }
                else
                {
                    s++;
                }
            }
            return isMatch(s,p+2);
        } 
        else 
        {
            if((*s!='')&&((*s==*p)||(*p=='.')))
            {
                return isMatch(s+1,p+1);
            }
            return false;
        }
        }
    };
  • 相关阅读:
    HTML+CSS面试题汇总(持续更新)
    vue-router
    MongoDB
    闭包
    JavaScript的严格模式
    IO题目
    Java 题目集 编程
    Java题目集 函数
    2.面向对象基础-04继承
    2.面向对象基础-03Java数组
  • 原文地址:https://www.cnblogs.com/Vae1990Silence/p/4283699.html
Copyright © 2011-2022 走看看