Single NumberII
**一定要注意 == 运算符的优先级高于& 因此在条件判断的时候 必须加括号
class Solution { public: int IsBit1(int num, int place) { num=num>>place; return num&1; } vector<int> singleNumber(vector<int>& nums) { int exclusiveOR=0; for(int i=0;i<nums.size();i++) exclusiveOR^=nums[i]; int place=0; while(((exclusiveOR&1)==0) && (place<8*sizeof(int))) { exclusiveOR=exclusiveOR>>1; place++; } int num1=0; int num2=0; for(int i=0;i<nums.size();i++) { if(IsBit1(nums[i],place)) num1^=nums[i]; else num2^=nums[i]; } vector<int> res; res.push_back(num1); res.push_back(num2); return res; } };