剑指offer——数组中只出现一次的数

题目描述

一个整型数组里除了两个数字之外,其他的数字都出现了偶数次。请写程序找出这两个只出现一次的数字。剑指offer上还有时间复杂度O(n),空间复杂度O(1)的要求。

代码

异或的思想,一个数与它自己异或值为0,对数组中所有的值求异或的结果同对两个只出现一次的数字求异或,按照某位是否为1把整个数组分成两组,分别对两组值进行异或,即可得到结果。注:0与任何值求异或为值本身。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容