-
2.21
- 秒了
-
2.5
- 异或运算,相等的变为 0,0 个一个不为0️⃣的数是那个数
class Solution {
public int singleNumber(int[] nums) {
int res = 0;
for(int i=0;i<nums.length;i++){
res = res^nums[i];
}
return res;
}
}-
归零律:任何数和自己异或,结果是 0。
A ^ A = 0
-
恒等律:任何数和 0 异或,结果是它自己。
A ^ 0 = A
-
交换律和结合律:异或运算的顺序不影响结果。
A ^ B ^ A = A ^ A ^ B = 0 ^ B = B