class Solution {
public int singleNumber(int[] nums) {
int res = 0;
//遍历32位数,在每位上遍历nums,单位上加上nums每个数的
for (int i = 0; i < 32; i++) {
//在多少位上
int temp = 1 << i;//二进制位只能为0或1
int count = 0;
for (int j = 0; j < nums.length; j++) {
if ((nums[j] & temp) != 0) //说明nums[j]在该位上有数1
{
count++;
}
}
if (count % 3 != 0) //3个数为1组,如果不为0,说明那唯一的一个数在该位有数
{
res |= temp; //res在该位添加1
}
}
return res;
}
}
137. Single Number II
最新推荐文章于 2022-07-02 13:41:47 发布