一个整型数组里除了两个数字之外,其他的数字都出现了偶数次。请写程序找出这两个只出现一次的数字。
public class Solution {
public void FindNumsAppearOnce(int [] array,int num1[] , int num2[]) {
int val = 0;
for(int i=0;i<array.length;i++){
val = val ^ array[i];
}
int index =1;
while((index&val)==0){
index= index<<1;
}
int a=0;
int b=0;
for(int i=0;i<array.length;i++){
int data = array[i];
if((data&index)==0){
a = a^ data;
}else{
b= b^data;
}
}
System.out.println(a+" "+b);
num1[0] = a;
num2[0] = b;
}
}
网友评论