Leetcode动归系列72

点击打开链接

题目大意:两个字符串,有3种操作a.在此处插入一个字符 b.修改这一个字符 c.删除这一个字符。问最少多少步可以将前字符串变成后者。

思路整理:构造出一个二维数组,两个维度放置两个字符串。这样一来数组中的元素就可以视为数组A中第i位对应B数组第j位时所需要的最小步数。问题迎刃而解。

代码:

public int minDistance(String word1, String word2) {
        int m = word1.length();
        int n = word2.length();
        int[][] table = new int[m+1][n+1];
        for(int i=0;i<=m;i++){
            table[i][0] = i;
        }
        for(int i=0;i<=n;i++){
            table[0][i] = i;
        }
        for(int i=0;i

你可能感兴趣的:(Leetcode动归系列72)