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.
Subscribe to see which companies asked this question
class Solution {
public:
char findTheDifference(string s, string t) {
int lens = s.size();
int lent = t.size();
map<char,int> s_m;
for(int i = 0; i < lens; ++i)
{
if(s_m.find(s[i]) != s_m.end())
s_m[s[i]]++;
else
s_m[s[i]] = 1;
}
for(int i = 0; i < lent; ++i)
{
if(s_m.find(t[i]) == s_m.end())
{
return t[i];
}
else
{
s_m[t[i]]--;
if(s_m[t[i]] < 0)
return t[i];
}
}
return t[0];
}
};