【算法笔记】找出数组中出现次数为奇数的数

算法 / 2023-08-02

1、如果出现奇数次的数只有一个:
将数组中所有的数从头到尾异或一遍即可;
2、如果出现奇数次的数有两个:
数组中所有的数从头到尾异或一遍,得到结果eor。找到eor二进制 表示中为1的最右侧位置。这里假设是第三位。再遍历数组一遍,与4(0b100)与运算,结果为1的数互相异或,结果为0的数互相异或。最终分别得到两个数,即为最终结果。