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异或都是其本身,任何数与自身异或都为0。
class Solution {
public:
int singleNumber(vector<int>& nums) {
int target=0;
for(int i=0;i<nums.size();i++) {
target^=nums[i];
} //采用位运算进行计算,需要明白的的就是位运算中的异或运算,任何数与0异或都是其本身,任何数与自身异或都为0
return target;
}
};