原题:Given an array of integers, every element appears twice except for one. Find that single one
题意:这个题的题意是给定一个数组,每个元素都出现两次,有一个除外,找出那个出现一次的元素,所以叫 Single Number
这个题有一种思路,比较巧妙,就是采用异或(^运算),比如 A^B^A = B 就是利用了这种性质。这种方法,如果你对位运算不是十分的了解,一般是想不到的
下面的C++实现的代买
int singleNumber(vector & nums){ int result = 0; int n = nums.size(); if((n & 0x1) != 0) { for(int i = 0; i < nums.size(); i++) { result ^= nums[i]; } } return result;}