389 Find the Difference 找不同
给定两个字符串 s 和 t,它们只包含小写字母。
字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。
请找出在 t 中被添加的字母。
示例:
输入:
s = "abcd"
t = "abcde"
输出:
e
解释:
'e' 是那个被添加的字母。
详见:https://leetcode.com/problems/find-the-difference/description/
C++:
方法一:
class Solution { public: char findTheDifference(string s, string t) { char res=0; for(char c:s) { res^=c; } for(char c:t) { res^=c; } return res; } };
方法二:
class Solution { public: char findTheDifference(string s, string t) { unordered_map<char, int> m; for (char c : s) { ++m[c]; } for (char c : t) { if (--m[c] < 0) { return c; } } return 0; } };