算法

LeetCode389.找不同

2019-05-14  本文已影响0人  鬼鬼812

给定两个字符串 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';
    }
};
上一篇下一篇

猜你喜欢

热点阅读