• 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