389. Find the Difference

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) {
        if(t.size()-s.size()!=1)
            return NULL;
        unordered_map<char, int> sMap;
    
    
    
        for (int i = 0; i < s.size(); i++) {
            ++sMap[s[i]];
        }
    
        for (int j = 0; j < t.size(); j++) {
            if (--sMap[t[j]] < 0)
                return t[j];
        }
        return NULL;
    }
};

 

posted on 2017-03-05 03:23  123_123  阅读(68)  评论(0编辑  收藏  举报