389找不同
    题目:
    给定两个字符串 s 和 t ,它们只包含小写字母。
    字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。
    请找出在 t 中被添加的字母。


    实例:
    示例 1:
    输入:s = “abcd”, t = “abcde”
    输出:”e”
    解释:’e’ 是那个被添加的字母。

    示例 2:
    输入:s = “”, t = “y”
    输出:”y”


    提示:

    • 0 <= s.length <= 1000
    • t.length == s.length + 1
    • s 和 t 只包含小写字母

    题解:
    想到之前一个题解视频里提到过的构建哈希集合的方法,就想着把第一个字符串放进去,第二个字符串放进去的时候判断是否在哈希集合里面存在,不存在就返回,但是看了题解证明这个方法搞复杂了。
    1.评论区看到的神级异或方法(我还想了半天为什么),将两个字符串合并,异或时有相同的字符会使结果变为0,不相同则保持原来的字符。

    1. class Solution {
    2. public:
    3. char findTheDifference(string s, string t) {
    4. char exor = 0;
    5. for (char c : s + t) {
    6. exor ^= c;
    7. }
    8. return exor;
    9. }
    10. };

    image.png
    2.计数image.png
    image.png
    3.求和
    image.png
    image.png
    此题心得:我是笨蛋🐮