解题思路:
使用异或思想来解决问题. 我认为这道题比较重要的点在于:遍历数组后,每个值都取异或,最后剩的唯一一个不是0的数即为所求。
代码如下:
class Solution {
public:
int singleNumber(vector<int>& nums) {
int reduce = 0;
for(auto p:nums)
{
reduce = reduce ^ p; //按位异或?
}
return reduce;
}
};