Problem
You are given two strings s and t.
String t is generated by random shuffling string s and then add one more letter at a random position.
Return the letter that was added to t.
Constraints:
- 0 <= s.length <= 1000
- t.length == s.length + 1
- s and t consist of lower-case English letters.
Example1
Input: s = “abcd”, t = “abcde”
Output: “e”
Explanation: ‘e’ is the letter that was added.
Example2
Input: s = “”, t = “y”
Output: “y”
Example3
Input: s = “a”, t = “aa”
Output: “a”
Example4
Input: s = “ae”, t = “aea”
Output: “a”
Solution
class Solution {
public:
char findTheDifference(string s, string t) {
int x = 0;
for (auto c: s) x ^= c;
for (auto c: t) x ^= c;
return x;
}
};