题目要求:
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
输入: [2,2,1] 输出: 1
输入:nums = [1,2,3,4] 输出:false
解题思路:
根据异或运算的规律,a^a = 0
;0^a = a;
a^b^a = a^a^b = b;
当数组进行异或运算后,只剩下单独的数字
代码展示:
int singleNumber(int* nums, int numsSize){
int k=0;
for(int i=0;i<numsSize;i++){
k^=nums[i];
}
return k;
}