题目:
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.
思路:
一道easy级别的题目。它既可以用哈希表来实现,也可以用定长数组,一般而言,定长数组的效率更高。
代码:
class Solution {
public:
char findTheDifference(string s, string t) {
vector<int> counts(26, 0);
for(int i = 0; i < s.length(); ++i) {
++counts[s[i] - 'a'];
}
for(int i = 0; i < t.length(); ++i) {
--counts[t[i] - 'a'];
if(counts[t[i] - 'a'] < 0) {
return t[i];
}
}
return ' ';
}
};