面试题:找出数组中只出现一次的数字
难度:中等
一个整数数组,除了一个数之外所有数字都出现了2次,找出这个数字来。
注意: 你的算法应该是线性运行复杂度,且不能使用额外内存空间。
答案:
public class Solution { public int singleNumber(int[] nums) { int n =0; // as we know that bitwise XOR in Java // 0 ^ N = N // N ^ N = 0 for(int i=0; i!=nums.length; i++) { n ^= nums[i]; } return n; } }