最长公共子序列,递归简单代码

#include<iostream>
#include<string>
#include<math.h>
using namespace std;
string a1,a2;
int f(string a,string b)
{
	if(a.length()==0||b.length()==0)return 0;
	if(a[0]==b[0])return f(a.substr(1),b.substr(1))+1;//第一个一样
	else
	{
		int k=max(f(a.substr(1),b),f(a,b.substr(1)));//返回一个长的
		return k;
	 } 
}
int main()
{
	a1="assv";
	a2="asvrf";
	int k=f(a1,a2);
	cout<<k<<endl;
	return 0;
}  
递归,边界,条件
posted @ 2017-08-21 17:19  天涯海角路  阅读(147)  评论(0)    收藏  举报