题目来源于力扣–https://leetcode-cn.com/
题目规定只有一个数出现了一次,这个题目最容易想到的办法是通过异或运算
异或运算:
1、a^a=0
2、a^0=a
3、a ^ b ^ c=a ^ c ^ b
可以根据这三个规律进行异或运算,最后得出的结果就是出现一次的那个数。
main函数代码,可以根据自己的需求修改
#include<stdio.h>
int singleNumber(int* nums, int numsSize);
int main(){
int nums[5] = {4,1,2,1,2};
int number = singleNumber(nums,5);
printf("%d",number);
return 0;
}
位运算代码
int singleNumber(int* nums, int numsSize){
int result = 0;
for(int i=0;i<numsSize;i++){
result = result^nums[i];
}
return result;
}