leetcode 10
class Solution {
public:
bool isMatch(string s, string p) {
// 使用正则表达式直接求解
if(s=="")
{
if(p==""||isMatchEmpty(p))
{
return true;
}
else return false;
}
if(p.length()!=0 && p[0]=='*')
{
return false;
}
regex reg(p);
smatch r;
regex_match(s, r, reg);
if(r.str()==s)
return true;
else return false;
}
bool isMatchEmpty(string p)
{
if(p.length()==0)
return true;
if((p.length()==1)||(p[1]!='*'))
return false;
return isMatchEmpty(p.substr(2,p.length()-2));
}
};