面试题56:数组中只出现一次的数字

1、题目描述:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。

2、思路:

  异或运算是位运算,将十进制转换为二进制后,每个位置的数字进行对比,若相同则取0,不同则取1。例如:2异或3可以表示为0010^0011=0001 ,2异或2,很显然是0000。

  这道题之所以一直强调有两个数字是单独出现的,因为若数组中只有一个数字是单独出现的,那么我们只需要依次对数组中的所有数字进行异或运算,结果

3、代码

猜你喜欢

转载自www.cnblogs.com/guoyu1/p/12191568.html