假设我们有两个仅包含小写字母的字符串s和t。现在,字符串t由随机改组字符串s生成,然后在随机索引处再添加一个字母。我们必须找到t中添加的字母。
因此,如果输入类似于“ mnopq”,“ pqmnot”,那么输出将为“ t”,这是多余的字母。
为了解决这个问题,我们将遵循以下步骤-
sSum:= 0,tSum:= 0
对于初始化i:= 0,当i <调用length()
s时,更新(将i增加1),执行-
sSum:= sSum + s [i]
对于初始化j:= 0,当j <调用length()
t时,更新(将j增加1),执行-
tSum:= tSum + t [j]
以字符形式返回(tSum-sSum)
让我们看下面的实现以更好地理解-
#include <bits/stdc++.h> using namespace std; class Solution { public: char findTheDifference(string s, string t) { int sSum = 0; int tSum = 0; for (int i = 0; i < s.length(); i++) { sSum += s[i]; } for (int j = 0; j < t.length(); j++) { tSum += t[j]; } return char(tSum - sSum); } }; main(){ Solution ob; cout << (ob.findTheDifference("mnopq","pqmnot")); }
"mnopq","pqmnot"
输出结果
t