给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
1 | int singleNumber(int[] nums) |
计算机科学中,异或满足四大定律
1 | 1.恒定律:A ^ 0 = A |
假如给定的数组是 [1, 3, 1, 3, 2, 4, 4]。根据异或的定律,对数组从头到尾进行异或可以等价成分组之后的异或,这里可以理解成 [1, 1, 2, 3, 3, 4, 4]。相同的数都会变为 0 ,最后剩下的那个数也就和 0 进行异或等到自己本身。
1 | int singleNumber(int[] nums) { |