给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/linked-list-cycle
个人感觉这个leetcode官方提供的思路很六:异或操作
例如:2,2,1;a初值设为0,a为最终返回的那个出现次数为1的数.
a^2 = 0^2=2
a^2 = 2^2 =0
a^1 = 0^1 = 1
所以a=1就是出现一次的那个数
int singleNumber(int* nums, int numsSize){
int a=0;
if(numsSize>0)
for(int i=0;i<numsSize;++i){
a=a^nums[i];
}
return a;
}