publicint[]singleNumbers(int[] nums){int ret =0;for(int n : nums){
ret ^= n;//进行遍历确定单独的数为1的位置}int div =1;while((div & ret)==0){//将两个数分为两组
div <<=1;}int a =0, b =0;for(int n : nums){//两个相同的数分为一组,异或后为0if((div & n)!=0){//和div相同位置是1的数分为一类
a ^= n;}else{//不同的分为了一类
b ^= n;}}returnnewint[]{a, b};}