补第十一周Leetcode 博客
389.Find the Difference
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是将S洗牌后额外加了一个字符的新串,我们统计S中26个小写字母各自出现的次数和T中26个小写字母各自出现的次数,对比两次的统计结果,出现不同的那个对应字母就是额外加的一个。
源代码
class Solution {
public:
char findTheDifference(string s, string t) {
int alphabet[26];
int check[26];
for (int i = 0; i < 26; i++) {
alphabet[i] = 0;
check[i] = 0;
}
for (int i = 0; i < s.length(); i++) {
alphabet[s[i] - 'a']++;
}
for (int i = 0; i < t.length(); i++) {
check[t[i] - 'a']++;
}
for (int i = 0; i < 26; i++) {
if (alphabet[i] != check[i]) {
return i + 'a';
}
}
return 'a';
}
};