137. 只出现一次的数字 II - 力扣(LeetCode)
func singleNumber(nums []int) int {
if len(nums) == 0 {
return 0
}
res := int32(0)
for i := 0; i < 32; i++ {
count := int32(0)
for _, num := range nums {
count += int32(num) >> i & 1
}
tmp := count % 3
res |= tmp << i
}
return int(res)
}
思路
按照32位统计每一位1的出现次数,最后%3。判断这一位在最终结果是否为1。