题意
给一个数组,里面除了一个数只出现了一次外,其他所有的数都出现了2次。求出只出现了1次的那个数。
要求:
O(n)
时间,
O(1)
空间
思路
利用xor的性质:x ^ x = 0
,x ^ 0 = x
代码
class Solution {
public:
int singleNumber(vector<int>& nums) {
int res = 0;
for (auto x : nums) {
res ^= x;
}
return res;
}
};