LeetCode 137 Single Number II 数组中除了一个数外,其他的数都出现了三次,找出这个只出现一次的数

Given an array of integers, every element appears three times except for one, which appears exactly once. Find that single one.
Note:Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?

 1 class Solution {
 2 public:
 3     int singleNumber(vector<int>& nums) {
 4         int size=nums.size();
 5         if(size==0||nums.empty())
 6             return -1;
 7         int res=0;
 8         for(int i=0;i<32;++i)
 9         {
10             int sum=0;
11             for(int j=0;j<size;++j)
12                 sum+=(nums[j]>>i)&1;
13             res+=(sum%3)<<i;
14         }
15         return res;
16     }
17 };
原文地址:https://www.cnblogs.com/xidian2014/p/8536826.html