目前只实现了比较两个文件a和b的diff 通过path[i][j]记录路径 1表示增加一行 -1表示删除一行 0表示不变 dp[i][j]表示a的前i行和b的前j行需要的修改次数则有 如果a的第i行等于b的第j行 dp[i][j] = min(dp[i-1][j-1],dp[i-1][j],dp[i][j-1]) 否则 dp[i][j] = min(dp[i-1][j],dp[i][j-1]) 为了使得加号和减号尽量聚集,每次先比较dp[i-1][j]和dp[i][j-1]相等时取dp[i][j-1] 然后通过滚动数组优化成一维数组 通过递归输出路径 