复习了一遍;
有两个点有问题:
- 负数带符号右移极限为-1,不可能为0;
- 左右右移或操作;
class Solution {
public:
int singleNumber(vector& nums) {
vectorcnt(32,0);
for(auto ele:nums){
int index=31;
while(index>=0){
if(ele&1){
cnt[index]++;
}
ele=ele>>1;
index--;
}
}
int ret=0;
for(int i=0;i<32;i++){
ret<<=1;
int temp=cnt[i]%3;
ret|=temp;
}
return ret;
}
};



