leetcode-初级算法-异或

给定一个整数数组,除了某个元素外其余元素均出现两次。请找出这个只出现一次的元素。

备注:

你的算法应该是一个线性时间复杂度。 你可以不用额外空间来实现它吗?

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

因为相同的数抑或为0,因此最后结果就是只有一个的额元素

点赞