题目:
136. Single Number
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?
class Solution {
public:
int singleNumber(vector<int>& nums) {
int n = nums.size();
int result = 0;
for(int i = 0; i < n; i++) {
result ^= nums[i];
}
return result;
}
};
算法:
相同的数字异或运算后等于零,则整个数组中唯一一个没有出现两次的数字就会是异或的结果。