惊!查找一个数组中只出现过一次的数竟能用异或来做!

发布时间 2023-07-04 23:14:49作者: 郑择徽

题目来自力扣:

class Solution {
    public int singleNumber(int[] nums) {
        int single=0;
        for(int i=0;i<nums.length;i++){
            single=single^nums[i];
        }
        return single;
    }
}

 



 

示例1:  2^2=0    0^1=1    因此1只出现过一次。

示例2:  4^1        4^1^2     4^1^2^1=4^2^0=4^2     4^2^2=4^0=4      因此4只出现过一次



【注意】 仅限于其余数都出现过2次或其他偶数次,才能用这种方法找出只出现过一次的数!!!