August 28, 2016 - algorithm

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.

1. Analyse

Use a map to store letters.

2. AC Code

(14 Lines)

class Solution {
public:
    char findTheDifference(string s, string t) {
        map<char,int> mp;
        for( int i=0; i<t.size(); i++ )
            mp[t[i]]++;
        for( int i=0; i<s.size(); i++ ){
            mp[s[i]]--;
            if( mp[s[i]] == 0 )
                mp.erase(s[i]);
        }
        return mp.begin()->first;
    }
};