考察知识点:异或。异或操作只保留出现一次的元素,但凡有出现两次的就会消掉。
// class Solution {
// public:
// int singleNumber(vector<int>& nums) {
// int len = nums.size();
// int tar = 0;
// for(int i=0;i<len;i++){
// //异或操作找出只出现一次的元素
// tar^=nums[i];
// }
// return tar;
// }
// };
class Solution {
public:
int singleNumber(vector<int>& nums) {
int tar = 0;
for(int num:nums){
//遍历数组里的每个值,num不是角标索引,而是每个元素值
tar^=num;
}
return tar;
}
};