Leetcode 136. 只出现一次的数字

Leetcode 136. 只出现一次的数字_第1张图片

class Solution {
    //任何数与0异或结果都是原来的数
    //任何数和自身异或结果都是0
    //异或满足交换律和结合律
    //a ^ b ^ a == (a ^ a) ^ b == 0 ^ b == b
    public int singleNumber(int[] nums) {
        int res = nums[0];
        for(int i = 1; i < nums.length; i++){
            res ^= nums[i];
        }
        return res;
    }
}

你可能感兴趣的:(leetcode,算法,java)