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,不相同则保持原来的字符。
class Solution {public:char findTheDifference(string s, string t) {char exor = 0;for (char c : s + t) {exor ^= c;}return exor;}};

2.计数

3.求和

此题心得:我是笨蛋🐮
