使用异或运算判断奇偶性

  • 原理是通过异或运算中的一个数与自己本身异或得到0,与0异或得到自己。

解释:

比如说有一组数组[1, 1, 1, 1] 我们使用异或判断

ans = [1, 1, 1, 1]
parity = ans[0]  # 拿出第一个数
for i in ans[1:]:  # 从数组的第二个数开始循环
    parity ^= i
parity == 1  # 如果等于1说明1有奇数个,如果等于0说明1有偶数个。例如1^1=0 0^1=1