题意

给定一个非空数组,除了唯一个单独的元素外,每个元素出现两次。找出这个单独的元素。

题目来源:https://leetcode.com/problems/single-number/

标记难度:Easy

提交次数:1/N

代码效率:100.00%

分析

使用异或 ^

  • 两个相同的数异或后为0
  • 0和一个数异或后为那个数
  • 异或运算满足交换律

代码

1
2
3
4
5
6
7
8
9
class Solution {
public int singleNumber(int[] nums) {
int result = 0;
for(int i = 0;i< nums.length;i++){
result^=nums[i];
}
return result;
}
}