原题:Given an array of integers, every element appears twice except for one. Find that single one
题意:这个题的题意是给定一个数组,每个元素都出现两次,有一个除外,找出那个出现一次的元素,所以叫 Single Number
这个题有一种思路,比较巧妙,就是采用异或(^运算),比如 A^B^A = B 就是利用了这种性质。这种方法,如果你对位运算不是十分的了解,一般是想不到的
下面的C++实现的代买
int singleNumber(vector<int>& nums)
{
int result = 0;
int n = nums.size();
if((n & 0x1) != 0)
{
for(int i = 0; i < nums.size(); i++)
{
result ^= nums[i];
}
}
return result;
}