Easy to Understand : C++ Solution


#1

int Solution::singleNumber(const vector<int> &A) {
    int ans=0;
    for (int i=0;i<32;i++){
        int zero=0;
        int one=0;
        for (int j=0;j<A.size();j++){
            if ( (A[j] & 1<<i)==0 ){
                zero++;
            }
            else{
                one++;
            }
            
        }
        if(zero%3==0){
            //bit 1
            ans= ans + (int)pow(2,i);
            
        }
        if(one%3==0){
            // bit 0
            continue;
        }
        
    }
    return ans;
}