136.LeetCode Single Number

Given an array of integers, every element appears twice except for one. Find that single one.

这道题看似很简单,但是需要线性时间和不消耗额外空间,这里需要用到c++的“亦或”操作,因为 相同数数字 ^ 操作得到的都是0,0和任何数字^操作得到的都是那个数字。

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

 

posted @ 2016-09-08 22:13  熊阳  阅读(126)  评论(0编辑  收藏  举报