- class Solution {
public:void FindNumsAppearOnce(vector<int> data,int* num1,int *num2) {int size=data.size();if(size<2)return;int result=data[0];for(int i=1;i<size;i++){result=result^data[i];}int n=0;while(!(result&0x01)){result=result>>1;n++;if(n>32)return;}int mask=0x01<<n;*num1=0;*num2=0;for(int i=0;i<size;i++){if(data[i]&mask)*num1^=data[i];else*num2^=data[i];}}};
原文:http://www.cnblogs.com/zhxshseu/p/5285004.html