class Solution {
public:
int editDistance(string str1, string str2) {
vector<vector<int>>dp(str1.length()+10,vector<int>(str2.length()+10,0));
for(int i=0;i<=str2.length();i++)dp[0][i]=i;
for(int i=0;i<=str1.length();i++)dp[i][0]=i;
for(int i=1;i<=str1.length();i++)
for(int j=1;j<=str2.length();j++)
{
if(str1[i-1]==str2[j-1])dp[i][j]=dp[i-1][j-1];
else dp[i][j]=min(min(dp[i-1][j],dp[i-1][j-1]),dp[i][j-1])+1;
}
return dp[str1.length()][str2.length()];
}
};

京公网安备 11010502036488号