136. 只出现一次的数字

Problem: 136. 只出现一次的数字

解析

位运算: 异或

利用异或运算的性质,两个相同的数异或为0,一个数和0异或为自己。满足交换律和结合律。

1
2
3
4
5
6
7
8
9
10
class Solution {
public:
int singleNumber(vector<int> &nums) {
int res = 0;
for (int i = 0; i < nums.size(); ++i) {
res ^= nums[i];
}
return res;
}
};