固执无罪,梦想无价

|

StimuMing

园龄:4年5个月粉丝:0关注:2

2021-07-19 10:17阅读: 65评论: 0推荐: 0

136. 只出现一次的数字_LeetCode

异或运算的作用

参与运算的两个值,如果两个相应bit位相同,则结果为0,否则为1

也就意味着这个操作可以提取一堆数字当中唯一出现过的一个数

  即:

0^0 = 0
1^0 = 1
0^1 = 1
1^1 = 0
// 通俗理解
a ^ a = 0
0 ^ a = a

例如
136. 只出现一次的数字
解决这道问题就可以使用异或实现。

int singleNumber(int* nums, int numsSize){
int ret = 0;
for (int i = 0; i < numsSize; i++)
{
ret ^= nums[i];
}
return ret;
}

相关链接:

posted @   StimuMing  阅读(65)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起