关闭

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

标签: leetcodehash位运算
1849人阅读 评论(0) 收藏 举报
分类:

题目链接: 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;
    }
};



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:315328次
    • 积分:7274
    • 等级:
    • 排名:第3040名
    • 原创:425篇
    • 转载:0篇
    • 译文:0篇
    • 评论:24条
    最新评论