LC 137. Single Number II

link

每一位1的个数有三种状态,0,1,2,3(0)
用两个bit,low和high来记录这些状态。

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        int high=0;
        int low=0;
        for(int n:nums){
            low=(low^n)&(~high);
            high=(high^n)&(~low);
        }
        return low;
    }
};
posted @ 2020-06-23 09:53  feibilun  阅读(70)  评论(0编辑  收藏  举报