https://leetcode-cn.com/problems/single-number-ii/
思路:二进制位上的数字之和为 3 的倍数
class Solution {
public int singleNumber(int[] nums) {
int res = 0;
for(int i = 0; i < 32; i++){
int total = 0;
for(int num : nums){
total += (num >> i) & 1; // 从低位开始向上统计
}
if(total % 3 == 1){
res |= (1 << i); // res 初始为 0, 同或相当于加上
}
}
return res;
}
}