标签:
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 itwithout using extra memory?
第二种不使用额外空间的方法,比第一种慢一点点~
//main.cpp
#pragma once
#include<iostream>
using namespace std;
int singleNumber2(int A[], int n)
{
int result = *A;
for (int i = 1; i < n; i++)
result = result^A[i];
return result;
}
int singleNumber1(int A[], int n)
{
for (int i = 1; i < n; i++)
*A = *A^A[i];
return *A;
}
void main()
{
int a[] = { 1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1 };
int n = sizeof(a) / sizeof(int);
cout << singleNumber(a, 11) << endl;
system("pause");
}
标签:
原文地址:http://blog.csdn.net/hgqqtql/article/details/43278665