题目描述:现在有一个整数类型的数组,数组中素只有一个元素只出现一次,其余的元素都出现两次。
注意:你需要给出一个线性时间复杂度的算法,你能在不使用额外内存空间的情况下解决这个问题么?
示例1:
输入:[1,0,1]
返回值:0
思路:直接使用暴力遍历法,对数组中每个元素进行筛选,判断有无其他元素与其相等,若没有则返回该元素的值。具体代码如下:
class Solution {
public:
/**
*
* @param A int整型一维数组
* @param n int A数组长度
* @return int整型
*/
int singleNumber(int* A, int n) {
// write code here
int i=0,j=0;
bool flag = false;
for(i=0;i<n;i++)
{
j=0;
for(;j<n;j++)
if(*(A+j) == *(A+i) && j != i)
break;
if(j == n)
{
flag = true;
break;
}
}
if(!flag)
return -1;
else
return *(A+i);
}
};


京公网安备 11010502036488号