依次枚举二进制每一位,然后由于一定出现三次,所以%3之后,就是该位的位数
class Solution {
public:
int singleNumber(vector<int>& nums) {
int res = 0;
for (int i = 0; i < 32; i++) {
int tolal = 0;
for (auto num : nums){
tolal += (num >> i) & 1;
}
if (tolal % 3) {
res += (1 << i);
}
}
return res;
}
};