解法都在代码里,不懂就留言或者私信
这个题不知道为啥会考,过于简单了,我解题+写注释用了两分钟不到,5行代码。。。
java
class Solution {
public int singleNumber(int[] nums) {
/**这个题目确实时间的题,根据位运算法则我们知道1.两个相同的数异或之后是0
2.任何数和0异或之后是它本身
所以我们考虑拿所有的数进行异或,因为其他数都出现两次,所以其他数异或完成之后都是0
而我们要找的那个数是出现一次的,它和其他数异或的结果(0)异或之后就是它自己*/
int ans = 0;
for(int num : nums) {
ans ^= num;
}
return ans;
}
}
运行结果