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;
    }
};
原文地址:https://www.cnblogs.com/xidian2014/p/8849419.html