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; }
原文:http://www.cnblogs.com/yang-xiong/p/5854699.html