给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
int singleNumber(int* nums, int numsSize){
int single = 0;
for(int i = 0; i < numsSize; i++){
single = single ^ nums[i];
}
return single;
}
思路:0和二进制异或运算仍然是这个二进制,所以single设置为0;相同的两个二进制数运算为0,那么最后剩下一定是出现一次的数。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/single-number