给定两个字符串 s 和 t,它们只包含小写字母。
字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。
请找出在 t 中被添加的字母。
示例:
输入:
s = "abcd"
t = "abcde"
输出:
e
解释:
'e' 是那个被添加的字母。
题解:
两个数组,分别进行计数,然后最后找,谁多了一个,那就是谁重复了
public:
char findTheDifference(string s, string t) {
vector<int> hash(26,0);
vector<int> hash1(26,0);
for(auto x : s){
hash[x - 'a'] ++;
}
for(auto x : t){
hash1[x - 'a'] ++;
}
for(int i = 0 ; i < 26 ; i++){
if(hash[i] != hash1[i]) return 'a' + i;
}
return 'o';
}
};
网友评论