首页 > 代码库 > Single Number 数组中除了某个元素出现一次,其他都出现两次,找出这个元素

Single Number 数组中除了某个元素出现一次,其他都出现两次,找出这个元素

Given an array of integers, every element appears twice except for one. Find that single one.

Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?

数组中除了某个元素出现一次,其他都出现两次,找出只出现一次的元素。

一个数字和自己异或 结果为 0,一个数字与0异或 结果还为它自己

比如数组:[6,6,3]  ,6和6异或为0,0与3异或为3,因此将数组中所有的元素异或一遍即为最终的结果:

 1 public class Solution { 2     public int singleNumber(int[] A) { 3          4          int n = A.length; 5          int result = 0; 6           7          for(int i = 0 ; i < n ; i ++) 8             result ^= A[i]; 9             10          return result;11     }12 }

 

Single Number 数组中除了某个元素出现一次,其他都出现两次,找出这个元素