leetcode 15: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?


示例1

输入

[1,0,1]

输出

0

题目分析:这个题目可以考虑异或,相同两个数异或为0。
代码如下:
1  int singleNumber(int* A, int n) {
2         int res = 0;
3         for(int i = 0;i < n;i++){
4             res^=A[i];
5         }
6         return res;
7     }


 
原文地址:https://www.cnblogs.com/qingjiaowoxiaoxioashou/p/13448608.html