您的位置:首页 > 其它

136. Single Number

2016-07-20 09:53 309 查看
题目

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,不同位为1,因此不管两个相同元素相隔多远,顺序异或之后结果均为0,而single number与0异或结果仍为本身。

class Solution {
public:
int singleNumber(vector<int>& nums) {
int result=0;
for(int i=0;i<nums.size();i++)
result ^=nums[i];
return result;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: