对于s1和s2,用dp[i][j]表示s1前i位和s2前j位的最大公共子序列 则dp[i][j] = (s[i-1] == s[j-1] ? dp[i-1][j-1] +1: max(dp[i-1][j], dp[i][j-1]);