思路:两个相同数的异或等于0假设数组中只有一个数只出现一次,则从头开始最后将数组中的所有数异或,最后的结果就是这个数。标题中的数组有两个只出现一次的数字。假设是a和b,我们还是对从头到尾的所有数进行异或,那么最后的结果就是a和b的异或结果。a和b的异或结果中至少有一位为1,将结果中第1位(从右往左数)的记录位置设为Index,表示a和b分别在对应的Index的bit为0和1。根据该bit的不同,将数组分为两组,分别进行AND运算得到a和b。代码如下:publicint[]FindNumsAppearOnce(int[]array){if(array==null)returnnull;int[]res=newint[]{0,0};//分别记录数组中的两个位置a和bintnumber=array[0];for(inti=1;i
