136. Single Number

来源:互联网 发布:什么是挂机软件 编辑:程序博客网 时间:2024/06/08 02:23

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^num=num;num^num=0。

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



0 0
原创粉丝点击