39 lines
919 B
C++

// Source : https://leetcode.com/problems/find-the-difference/
// Author : Hao Chen
// Date : 2016-09-08
/***************************************************************************************
*
* 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) {
unordered_map<char, int> m;
for(auto c : s) m[c]++;
for(auto c : t) {
m[c]--;
if (m[c] < 0) return c;
}
return '\0';
}
};