如何打印两个字符串之间的差异。例如,如果给出“abcde”和“xabcde”,它应该在开头说“x”。当然,不同的部分可以在任何地方。有没有一个标准的算法呢?
问问题
765 次
1 回答
3
我不知道这是否有任何标准算法,但可以肯定的是我们可以轻松地制作一个。
创建一个包含 26 个元素的整数数组,并在开始时将它们全部声明为零。
int arr[26] = {0};
让arr[0]
代表a的arr[1]
数量,代表b的数量......等等。
遍历 string1 并增加相应字母的相应数组索引。
遍历 string2 并为相应的字母递减相应的数组索引。
现在遍历您的数组并在数组的每个索引处获取绝对值
例如:如果arr[0] = 1
,则将其视为1
; 如果arr[1] = -2
,则将其视为2
; 如果arr[2] = 0
, 取它为0
& 以此类推。
多次打印出相应的字母,例如。我们刚刚拍摄,您将必须打印 'a' 1 次,'b' 2 次,'c' 0 次等等。
于 2013-05-26T05:54:30.467 回答