publicintsingleNumber(int[] nums){int result =0;for(int num : nums){
result ^= num;}return result;}
其次想到的解法可以利用HashSet的元素不可重复性,得到那个数。 代码如下:
publicintsingleNumber(int[] nums){HashSet<Integer> set =newHashSet<>();for(int num : nums){if(set.contains(num)){
set.remove(num);}else{
set.add(num);}}if(set.size()==1){return set.iterator().next();}else{return0;}}
还有一个解法是可以先对数组进行排序,然后前后两个数对比,得到那个数。 代码如下:
publicintsingleNumber(int[] nums){Arrays.sort(nums);for(int i =0; i < nums.length; i +=2){if(i +1>= nums.length || nums[i]!= nums[i +1]){return nums[i];}}return0;}
最先想到的解法是可以利用异或相等的数等于0的特性得到那个数。代码如下: public int singleNumber(int[] nums) { int result = 0; for (int num : nums) { result ^= num; } return result; }其次想到的解法可以利用HashSet的元素不可重复性,得到那个数。代码如下: public int s..