1.辅助数组
使用一个额外的数组对字符进行计数
代码如下:
class Solution {
public:
char findTheDifference(string s, string t) {
vector<int> res(26,0);
for(int i=0;i<t.size();i++)
res[t[i]-'a']++;
for(int i=0;i<s.size();i++)
res[s[i]-'a']--;
char c;
for(int i=0;i<26;i++)
if(res[i]==1)
{
c='a'+i;
break;
}
return c;
}
};
2.位运算
利用异或运算
class Solution {
public:
char findTheDifference(string s, string t) {
char c=0;//要赋初始值
for(int i=0;i<s.size();i++)
{
c=c^s[i];
c=c^t[i];
}
c=c^t[t.size()-1];
return c;
}
};