[leetcode] 389. Find the Difference 解题报告

题目链接: https://leetcode.com/problems/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.

思路: 一个hash表可以解决, 甚至可以用两个加起来然后异或

代码如下:

class Solution {
public:
    char findTheDifference(string s, string t) {
        unordered_map<char, int> hash;
        char ans;
        for(auto ch: s) hash[ch]++;
        for(auto ch: t) 
            if(--hash[ch]<0) ans = ch; 
        return ans;
    }
};


class Solution {
public:
    char findTheDifference(string s, string t) {
        s += t;
        int ch =0;
        for(auto val: s) ch ^= val;
        return ch;
    }
};



阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq508618087/article/details/52352635
文章标签: leetcode hash 位运算
个人分类: leetcode hash 位运算
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭