题解 | #数组中只出现一次的两个数字#

数组中只出现一次的两个数字

http://www.nowcoder.com/practice/389fc1c3d3be4479a154f63f495abff8

思路

异或的性质:

  1. x ^ 0 = x
  2. x ^ x = 0
  3. 同时满足异或的交换律

步骤

对于这道题:

  1. 先将所有的数进行异或,得到的结果跟要求的这两个数进行异或的结果相同。
  2. 由于a、b不同,所以一定在二进制的某一位上的不同,找到这个位
  3. 初始化a=b=0,顺序遍历,根据num与那一位与结果分类,更新a ^= num
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务