Description:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
//num1,num2分别为长度为1的数组。传出参数
//将num1[0],num2[0]设置为返回结果
import java.util.Arrays;
public class Solution {
public void FindNumsAppearOnce(int [] a,int num1[] , int num2[]) {
Arrays.sort(a);
int n = a.length;
int k = 0;
for (int i = 0; i < n; ) {
if (i + 1 == n) {
num2[0] = a[i];
break;
}
if ((a[i] ^ a[i + 1]) == 0)
i += 2;
else {
k++;
if (k == 1)
num1[0] = a[i];
else
num2[0] = a[i];
i += 1;
}
}
}
}