知識點
動態規劃
解題思路
解法一:分類討論
class Solution {
public:
bool isMatch(string& s, string& p) {
int i,j=0;
int flag=0;// to how many *
if(s.size()==0 && p.size()==0){
return true;
}
if(p.size()==0){
return false;
}
for(i=0;i<p.size();i++){
if(p[i]=='*'){
flag++;
}
}
if(flag==0){
// there is no * in string
if(s.size()!=p.size()){
return false;
}
for(i=0;i<s.size();i++){
if(s[i]!=p[i] && p[i]!='*'){
return false;
}
}
if(i==s.size()){
return true;
}
}
// has flag '*' 這後面就是不會做了。
if(flag>0){
for(i=0;i<s.size();){
if(p[j]=='*'){
}else{
if(s[i]==p[i]){
}
}
}
}
return true;
}
};
小結
所謂算法,就是給問題提供思考的角度和範式。
還是要加強 動態規劃的