1 public class Solution { 2 public int minDistance(String word1, String word2) { 3 // IMPORTANT: Please reset any member data you declared, as 4 // the same Solution instance will be reused for each test case. 5 int m = word1.length(), n = word2.length(); 6 int[][] ed = new int[m + 1][n + 1]; 7 for(int i = 0; i < m + 1; i++){ 8 for(int j = 0; j < n + 1; j++){ 9 if(i == 0){ 10 ed[i][j] = j; 11 } else if(j == 0){ 12 ed[i][j] = i; 13 } else { 14 if(word1.charAt(i - 1) == word2.charAt(j - 1)){ 15 ed[i][j] = ed[i - 1][j - 1]; 16 } else { 17 ed[i][j] = 1 + Math.min(ed[i - 1][j - 1], Math.min(ed[i][j - 1], ed[i - 1][j])); 18 } 19 } 20 } 21 } 22 return ed[m][n]; 23 } 24 }