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.
题目大意:
给定两个字符串s和t,都只包含小写字母。
字符串t由字符串s打乱顺序并且额外在随机位置添加一个字母组成。
寻找t中新增的那个字母。
测试用例如题目描述。
思路:使用2个map分别存储s和t,然后在t里面查找与s出现次数不同的字母。
class Solution{
public:
char findTheDifference(string s,string t){
map<char,int>mp;
map<char,int>kp;
for (auto ch : s)
mp[ch]++;
for (auto ch : t)
kp[ch]++;
for (int i = 0; i < t.size(); i++)
{
if (kp[t[i]] != mp[t[i]])
return t[i];
}
}
};