389. Find the Difference
做题历程:
- 2016/Sep/04 独立解出,大概耗时8分钟
本题是一道不折不扣的Easy题,我能想到两种解法:第一种是比较通俗的Hashmap,另外一种是用位运算的异或来解,这次为了图省事,用了第一种解法,不多说,代码如下:
class Solution {
public:
char findTheDifference(string s, string t) {
unordered_map<char, int> char_map;
for (int i = 0; i < s.length(); ++i) {
auto found = char_map.find(s[i]);
if (found == char_map.end()) {
char_map[s[i]] = 0;
}
char_map[s[i]]++;
}
for (int j = 0; j < t.length(); ++j) {
auto found = char_map.find(t[j]);
if (found == char_map.end() || char_map[t[j]] == 0) {
return t[j];
}
char_map[t[j]]--;
}
return ' ';
}
};