题目描述
一个整型数组里除了两个数字之外,其他的数字都出现了偶数次。请写程序找出这两个只出现一次的数字。剑指offer上还有时间复杂度O(n),空间复杂度O(1)的要求。
异或的思想,一个数与它自己异或值为0,对数组中所有的值求异或的结果同对两个只出现一次的数字求异或,按照某位是否为1把整个数组分成两组,分别对两组值进行异或,即可得到结果。注:0与任何值求异或为值本身。
一个整型数组里除了两个数字之外,其他的数字都出现了偶数次。请写程序找出这两个只出现一次的数字。剑指offer上还有时间复杂度O(n),空间复杂度O(1)的要求。
异或的思想,一个数与它自己异或值为0,对数组中所有的值求异或的结果同对两个只出现一次的数字求异或,按照某位是否为1把整个数组分成两组,分别对两组值进行异或,即可得到结果。注:0与任何值求异或为值本身。