LeetCode:Single Number

问题描述:

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

Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?

思路:

异或可以找出唯一出现一次的数。

代码:

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


你可能感兴趣的:(LeetCode,C++)