问题:给定两个字符串,求解这两个字符串的最长公共子序列(Longest Common Sequence)。比如字符串1:BDCABA;字符串2:ABCBDAB
则这两个字符串的最长公共子序列长度为4,最长公共子序列是:BCBA
思路:递归求解
对于A、B序列,LCS(A ,B)无非存在三种情况
1)A 和 B都为空序列 (此种情况为递归基)
2)若A 的最后一个元素 == B的最后一个元素 则A、B减去最后一个元素为A1,B1,则取做 LCS(A1,B1)+ “最后一个元素”
3)若A的最后一个元素 != B的最后一个元素 ,则分在LCS(A1,B)和LCS(A,B1)中取最长的元素。
#include <iostream>
//输入A、B数组和A、B的大小减去一的值 a和b
int LCS(char