这道题的思路:我是根据最长公共子序列的思路得来的. 最长公共子序列是: d[i][j]表示字符串s1前i个(0-i-1)字符,和字符串s2前j个(0-j-1)字符的最长公共子序列. 分情况讨论: 当s1[i-1] == s2[j-1]的时候,d[i][j] = d[i-1][j-1]+1; 这个表示 ,当第i-1个字符相同时,就在之前d[i-1][j-1]的长度上加一 当s1[i-1] != s2[j-1]的时候,d[i][j] 的值就有可能有两种情况: (1)d[i][j] = d[i-1][…