给你一个长度为n的数组,其中只有一个数字出现了奇数次,其他均出现偶数次,问如何使用优秀的时空复杂度快速找到这个数字,
方法一位运算
数组中的全部元素的异或运算结果即为数组中只出现一次的数字。
class Solution{
public int singleNumber(int[] nums){
int single = 0;
for(int num : nums){
single ^= num;
}
return single;
}
}
3xiaoleilei 2022-05-24 10:22 原文
给你一个长度为n的数组,其中只有一个数字出现了奇数次,其他均出现偶数次,问如何使用优秀的时空复杂度快速找到这个数字,
方法一位运算
数组中的全部元素的异或运算结果即为数组中只出现一次的数字。
class Solution{
public int singleNumber(int[] nums){
int single = 0;
for(int num : nums){
single ^= num;
}
return single;
}
}