給定一個非空整數數組,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。
來源:力扣(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;
}