class Solution {
public:
vector<int> singleNumbers(vector<int>& nums) {
int a = 0, b = 0, temp = 0;
for(auto num : nums) temp ^= num;
int bit = 1;
while((bit & temp) == 0) bit <<= 1; // 注意运算符优先级!!
for(auto num : nums) {
if(num & bit) a ^= num;
else b ^= num;
}
return {a, b};
}
};
【leetcode 位运算 C++】【剑指 Offer】 56 - I. 数组中数字出现的次数
最新推荐文章于 2021-03-17 13:54:26 发布