LeetCode 136:Single Number(异或操作)

来源:互联网 发布:哪个软件容易泡妞 编辑:程序博客网 时间:2024/06/07 09:55

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?

思路:

因为0^A=A,A^A=0,且异或操作是可交换的,所以该题目使用异或操作就可以找到只出现一次数字。

Code:

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