题目要求,要在线性时间复杂度内得出结果,且不要耗费额外空间
题中给的一次,两次会给人一种用异或的感觉
异或的相关性质 a异或a=0; b异或0等于b;
假设一个数字m出现一次,其余的数字都出现两次那么将所有的数字异或最后的结果就是m【依据是上面提到的异或的性质】
class Solution {
public:
int singleNumber(vector
<int>& nums
) {
int res
= 0;
for(int n
: nums
)
res
^= n
;
return res
;
}
};
转载请注明原文地址:https://tech.qufami.com/read-1049.html