leetcode 136. Single Number

来源:互联网 发布:热血虎卫源码 编辑:程序博客网 时间:2024/06/05 00:17

这个抑或操作还是感觉挺妙的  感觉不看解答根本不会用

因为a^b=b^a 和 0^a=a

所以我如果对全体元素进行一个抑或操作然后再求值会等于那个值 因为我可以不断交换把相同元素放在一起然后最后相当于0^a (a为落单元素)=a

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        int result=0;
        for(int i=0;i<=nums.size()-1;i++)
            result^=nums[i];
        return result;
    }
};