Given two strings s and t which consist of only lowercase letters.
String t is generated by random shuffling string s and then add one more letter at a random position.
Find the letter that was added in t.
Example:
Input: s = "abcd" t = "abcde" Output: e Explanation: 'e' is the letter that was added.
class Solution {
public:
char findTheDifference(string s, string t) {
string tmp=s.length()>t.length()?s:t;
string mi=s.length()<t.length()?s:t;
unordered_map<int,int> a;
for (int i=0;i<tmp.length();i++)
a[tmp[i]]++;
for (int i=0;i<mi.length();i++)
a[mi[i]]--;
for (unordered_map<int,int>::iterator it=a.begin();it!=a.end();++it)
if (it->second)
return (char)(it->first);
return NULL;
}
};