leetcode——136(超级666题解-参考于leetcode官方题解)

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/linked-list-cycle

个人感觉这个leetcode官方提供的思路很六:异或操作
例如:2,2,1;a初值设为0,a为最终返回的那个出现次数为1的数.
a^2 = 0^2=2
a^2 = 2^2 =0
a^1 = 0^1 = 1
所以a=1就是出现一次的那个数

int singleNumber(int* nums, int numsSize){
    
    
    int a=0;
    if(numsSize>0)
    for(int i=0;i<numsSize;++i){
    
    
        a=a^nums[i];
    }
    return a;
}

猜你喜欢

转载自blog.csdn.net/lthahaha/article/details/105465593