题目:给一个从0到n的数组递增,里面少一个,求少的这个,例如[0,2,3],输出1,别被给的例子迷惑,也可能数组是乱序的。。。。
思路:题目要求O(n),考虑位运算,先异或0到n所有数,再异或数组的每个数。即为所求
public class Solution { public int missingNumber(int[] nums) { int n=nums.length,x=0; for(int i=0;i<=n;i++) x^=i; for(int i=0;i<n;i++) x^=nums[i]; return x; } }