写了两天,结果感人
class Solution {
public:
bool isMatch(string s, string p) {
bool ans=false;
int temp=0;
for(int i=0; i<=s.size(); i++) {
if(is.size()&&tempp.size()) return true;
else if(temp>=p.size()) return false;
if(p[temp+1]’*’&&temp<p.size()-1) {
if(p[temp]!=s[i]&&p[temp]!=’.’) {
temp+=2; i–;
}
else if(p[temp]’.’) {
ans=ans||isMatch(s.substr(i),p.substr(temp+2));
int kk = 0;
for(kk=0;kk<s.size()-i;kk++){
ans=ans||isMatch(s.substr(i+kk+1),p.substr(temp+2));
}
if(ans) return true;
else return false;
}
else{
ans=ans||isMatch(s.substr(i),p.substr(temp+2));
int k=0;
for(k=0;k<s.size()-i;k++){
if(s[i+k]==s[i]) ans=ans||isMatch(s.substr(i+k+1),p.substr(temp+2));
else break;
}
if(ans) return true;
else return false;
}
}
else if(s[i]p[temp]) {
temp++;
}
else if(p[temp]’.’) {
p[temp]=s[i];
temp++;
}
else break;
//else return false;
}
return false;
}
};
标答是动态规划,这个用的真挺多的,得好好看看了