示例代码 登录后复制 class Solution { public: int minimumDeleteSum(string s1, string s2) { int len1=s1.length(),len2=s2.length(); vector<vector<int>> dp(len1+1,vector<int>(len2+1)); dp[0][0]=0; //初始化:更改的字符为前面的累加 for(int i=1;i<=len1;i++){ dp[i][0]=dp[i-1][0]+s1[i-1]; } for(int i=1;i<=len2;i++){ dp[0][i]=dp[0][i-1]+s2[i-1]; } for(int i=1;i<=len1;i++){ for(int j=1;j<=len2;j++){ if(s1[i-1]==s2[j-1]){ dp[i][j]=dp[i-1][j-1]; }else{ //插入i位置或删除j位置 //插入j位置或删除i位置 dp[i][j]=min(dp[i][j-1]+s2[j-1],dp[i-1][j]+s1[i-1]); } } } return dp[len1][len2]; } }; 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28. 效果展示 原创作者: u_15305087 转载于: https://blog.51cto.com/u_15305087/11773157