假设我们有两个仅包含小写字母的字符串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