Leetcode每日一题
题目链接: 389. 找不同
难度: 简单
解题思路: 异或的性质:任何数异或自己都为0;任何数异或0都等于自己。 所以让0对s和t分别进行异或,剩下的就是加入的数。C++和Python的效率差别还是很大的,相同的逻辑C++能超越100%时间。
题解:
# python3 击败61%时间
class Solution:
def findTheDifference(self, s: str, t: str) -> str:
res = 0
for item in s:
res ^= ord(item)
for item in t:
res ^= ord(item)
return "".join(chr(res))
//c++ 击败100%时间
class Solution {
public:
char findTheDifference(string s, string t) {
char res = 0;
for (auto ch : s) res ^= ch;
for (auto ch : t) res ^= ch;
return res;
}
};