关闭

389. Find the Difference

893人阅读 评论(0) 收藏 举报
分类:

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;
    }
};


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:83386次
    • 积分:1956
    • 等级:
    • 排名:千里之外
    • 原创:96篇
    • 转载:107篇
    • 译文:1篇
    • 评论:10条
    最新评论