文章目录在其他数都出现偶数次的数组中找到出现奇数次的数整型数组中其他数都出现偶数次找到唯一出现奇数次的数题目算法思路相应代码整型数组中其他数都出现偶数次找到两个出现奇数次的数题目算法思路相应代码
在其他数都出现偶数次的数组中找到出现奇数次的数
整型数组中其他数都出现偶数次找到唯一出现奇数次的数
题目
给定一个整型数组arr,其中只有一个数出现了奇数次,其他的数都出现了偶数次,
打印这个数。
算法思路
a ^ a = 0
a ^ 0 = a
偶数次异或为0,奇数次异或为本身
遍历数组异或结果即为
不使用其他变量交换两个整型的值:
#include
void main(){
int a = 3;
int b = 4;
a = a ^ b;//使用异或交换
b = b ^ a;
a = a ^ b;
printf(%d, %d\n, a, b);
a = a - b;//使用加减交换
b = a + b;
a = b - a;
printf(%d, %d\n, a, b);
a ^= b ^= a ^= b;
printf(