import java.util.*; public class Solution { /** * 最长公共子串, 动态规划 * 定义 dp[i][j]表示以 str1[i] 和 str2[j] 结尾的最长公共子串的长度, * 如果str1[i] != str2[j], 那么 dp[i][j] = 0; 否则 dp[i][j] = dp[i-1][j-1] + 1; * 在计算的过程中记录最大公共子串的长度,并记录最大子串的结束位置 */ public String LCS(String str1, String str2)...