Leetcode 389. 找不同

给定两个字符串 s 和 t,它们只包含小写字母。

字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。

请找出在 t 中被添加的字母。

 

示例:

输入:
s = "abcd"
t = "abcde"

输出:
e

解释:
'e' 是那个被添加的字母。

 

这里可以用map的方法解决,考虑到特殊性直接用位运算异或即可解决

class Solution {
public:
    char findTheDifference(string s, string t) 
    {
        char ans = 0;
        int n=s.size();
        for(int i =0;i<n;i++) 
            ans ^= s[i];
        for(int i =0;i<n+1;i++) 
            ans ^= t[i];
        return ans;
    }
};

 

点赞