136
Given a non-empty array of integers nums, every element appears twice except for one. Find that single one.
You must implement a solution with a linear runtime complexity and use only constant extra space.
Example 1:
Input: nums = [2,2,1]
Output: 1
Example 2:
Input: nums = [4,1,2,1,2]
Output: 4
Example 3:
Input: nums = [1]
Output: 1
对所有元素异或,相同的元素异或得到 0 ,最后的结果即单个元素
class Solution {
public int singleNumber(int[] nums) {
int ret=0;
for(int i:nums){
ret = ret ^ i;
}
return ret;
}
}
class Solution {
public:
int singleNumber(vector<int>& nums) {
int ret=0;
for(int i=0;i<nums.size();++i){
ret ^= nums[i];
}
return ret;
}
};
class Solution:
def singleNumber(self, nums: List[int]) -> int:
ret=0
for i in nums:
ret ^= i
return ret