Leetcode 136. 只出现一次的数字

利用异或运算进行解题

A^A=0

A^0=A

由于除需要找到的元素外,其他元素都出现两遍,所以对数组中的元素进行异或就可以得出结果

/*
算法步骤
对数组里的每个数进行异或运算
*/
#include <vector>
class Solution {
public:
    int singleNumber(vector<int>& nums) {
       int res=0;
       for(auto num:nums)
           res=res^num;
       return res;
    }
};

 

posted @ 2020-07-07 13:02  不二良  阅读(144)  评论(0编辑  收藏  举报