LeetCode389

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

猜你喜欢

转载自blog.csdn.net/hwjcxy/article/details/81978944