389. Find the Difference

Problem:

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.

思路

Solution (C++):

char findTheDifference(string s, string t) {
    vector<int> vec(26, 0);
    int i = 0;
    int m = s.length(), n = t.length();
    for (i = 0; i < m; ++i) {
        ++vec[s[i]-'a'];
    }
    for (i = 0; i < n; ++i) {
        --vec[t[i]-'a'];
    }
    for (i = 0; i < 26; ++i) {
        if (vec[i] == -1)  break; 
    }
    return char(int('a')+i);
}

性能

Runtime: 4 ms  Memory Usage: 6.9 MB

思路

Solution (C++):


性能

Runtime: ms  Memory Usage: MB

相关链接如下:

知乎:littledy

欢迎关注个人微信公众号:小邓杂谈,扫描下方二维码即可

作者:littledy
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/dysjtu1995/p/12666139.html