389. 找不同 (异或运算)

 

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

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

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

 

示例:

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

输出:
e

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

解题思路:通过异或运算,找到s+t中唯一出现过一次的字符

class Solution {
public:
    char findTheDifference(string s, string t) {
        char r=0;
        for(char c:s+t){
            r^=c;
        }
        return r;
    }
};

 

你可能感兴趣的:(LeetCode,字符串处理)