算法复习:递归
Posted dzzy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法复习:递归相关的知识,希望对你有一定的参考价值。
leedcode 10. 正则表达式匹配
递归解法,时间复杂度比较高,后面要尝试改成动规
bool end_or_not(string p) { for(int i=0;i<p.size();i+=2) { if(((p[i]>=‘a‘&&p[i]<=‘z‘)||p[i]==‘.‘)&&p[i+1]==‘*‘) continue; return false; } return true; } bool check(string s, string p) { int donser[27]; memset(donser,0,sizeof(donser)); for(int i=0;i<p.size();i++) { if(p[i]==‘.‘||p[i]==‘*‘) continue; if(donser[p[i]-‘a‘]==0) { donser[p[i]-‘a‘]=1; int lable=0; if(p[i+1]==‘*‘) continue; for(int j=0;j<s.size();j++) { if(s[j]==p[i]) { lable=1; break; } } if(lable==0) return false; } } return true; } class Solution { public: bool isMatch(string s, string p) { int ptr_s=0,ptr_p=0; bool x=0; char now=p[ptr_p],next=p[ptr_p+1]; if(check(s,p)==false) return false; if(s[ptr_s]==‘