leetcode-find-the-difference

题目大意

  https://leetcode.com/problems/find-the-difference/

  一个字符串s和一个字符串t,仅含有小写字母,并且s中的字符经过洗牌并在随机位置加入一字符就变成t,找到加入的那个字符

题目分析

  把s和t合起来看成一个数组,做异或操作,最终结果就是那个字符,这个题跟https://leetcode.com/problems/single-number/ 思路是一样的。

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution {
public:
char findTheDifference(string s, string t) {
char ans = t.at(0);
int size_t = t.length();
for (int i = 1; i < size_t; i++) {
ans ^= t.at(i);
}
int size_s = s.length();
for (int i = 0; i < size_s; i++) {
ans ^= s.at(i);
}
return ans;
}
};