Single Number:
Given an array of integers, every element appears twice except for one. Find that single one.
給出一個整數數組,數組裏的元素除了一個只出現一次之外,其它元素均出現兩次,求得並返回只出現一次的元素。
範例: [1,2,3,1,3,] -> 返回 2
思路: 其它元素均出現兩次,只有一個元素只出現一次,要求返回這個只出現一次的元素。我們可以想到位操作異或,異或的特性爲:相同爲0,不同爲1。對整個數組異或遍歷一次,凡是出現兩次的數,因爲兩個相同的數異或等於0 ,因此最後得到的結果即爲只出現一次的數。
int singleNumber(int* nums, int numsSize)
{
int order = 0;
int value = 0;
while(order < numsSize)
{
value ^= nums[order++];
}
return value;
}