您的位置:首页 > Web前端

Find the Difference问题及解法

2017-04-11 08:54 399 查看
问题描述:

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.

示例:

Input:
s = "abcd"
t = "abcde"

Output:
e

Explanation:
'e' is the letter that was added.

问题分析:

题目要求出两个字符串之间唯一一个不同的字符。可以用位运算,也可以用hashtable。下面是我用hashtable的解法:

class Solution {
public:
char findTheDifference(string s, string t) {
vector<int> mapping(256,0);
char res = ' ';
for(int i = 0; i < s.length(); i++)
{
mapping[s[i]]++;
}
for(int i = 0; i < t.length(); i++)
{
if(mapping[t[i]]-- == 0)
{
res = t[i];
break;
}
}
return res;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐