位运算 02

93 阅读1分钟

LeetCode 136

原题链接

代码如下:

/*
    思路:
        因为数组中,只出现唯一一个不重复的数,其他数都是两两出现
        所以,对数组所有元素进行异或计算,相同的数异或得到零
        零与那个待求的数取异或还是本身,所以可以找到那个数,并直接返回
*/

class Solution {
    public int singleNumber(int[] nums) {
        int single = 0;
        for (int num : nums) {
            single ^= num;
        }
        return single;
    }
}