要求O(N)的时间复杂度 O(1)的空间复杂度
想法:用一个数组来存数字 每出现一次 值++ 最后输出值为1的即可 但是空间复杂度到O(N)
题解使用了异或操作
大概思路:异或操作 掌握异或的基本性质就可以做出了 满足交换律 遇到相同的值归为0 故异样(即出现一次的值)现真身
AC code:
class Solution {
public:
int singleNumber(vector<int>& nums) {
int res=0;
for(auto t:nums){
res^=t;
}
return res;
}
};