明智的算法找到两个字符串之间的差异

时间:2013-05-25 22:56:22

标签: algorithm diff design-patterns

如何打印两个字符串之间的差异。例如。如果给出“abcde”和“xabcde”,它应该在开头说“x”。当然,不同的部分可以在任何地方。有没有标准的算法呢?

1 个答案:

答案 0 :(得分:2)

我不知道是否有任何标准算法,但我们确定可以轻松制作一个。

创建一个包含26个元素的整数数组,并在开始时将它们全部声明为零。

int arr[26] = {0};

arr[0]代表a的数量,arr[1]代表b的数量....&等等。

遍历string1并为各个字母递增相应的数组索引。

遍历string2并减少各个字母的相应数组索引。

现在遍历您的数组并获取数组

的每个索引处的绝对值

例如:if arr[0] = 1,将其视为1;如果arr[1] = -2,请将其视为2;如果arr[2] = 0,则将其视为0&等等。

多次打印出相应的字母,例如。我们刚才采取的,你必须打印'a'一次,'b'打2次,'c'0次&等等。