- 題目描述
給定一個(gè)整數(shù)數(shù)組,除了一個(gè)元素外,每個(gè)元素都會(huì)出現(xiàn)兩次。
找到那一個(gè)出現(xiàn)一次的元素。
注意:時(shí)間復(fù)雜度O(n),空間復(fù)雜度O(1)
- 解決思路
1.異或滿足交換律
2.相同兩個(gè)數(shù)異或?yàn)?
3.0異或一個(gè)數(shù)為那個(gè)數(shù)本身
將數(shù)組所有元素進(jìn)行異或操作得到的結(jié)果即為所求的元素值
int singleNumber(int A[], int n)
{
int res = A[0];
for (int i = 1; i < n; ++i)
{
res ^= A[i];
}
return res;
}