题目要求s1 通过增、删、替换的方式以最小的操作数变成 s2,即两个字符串比较求极值,由两个字符串和比较等特点分析应该可采用递归的方式的处理,即 func(s1[i], s2[j]) 对两个字符串的每个字符进行比较,直到 i、j 取完,当 s1[i] == s2[j] 直接递归 s1[i - 1] s2[j - 1] 而当 s1[i] != s2[j] 时,则有三种方式可选,即三条路径,存在重叠子问题,可采用动态规划的方式求解 定义 dp 数组,因为是两个字符串,则定义二维数组 dp[i][j] 表示 s1[:i + 1] 变成 s2[:j + 1] 的最小操作数 定义 base case,...