leetcode136 只出现一次的数字
第一个方法,现学现卖,先排序,排完序了再遍历,找没有重复的
class Solution { public: int singleNumber(vector<int>& nums) { sort(nums.begin(),nums.end()); int n = nums.size(); if(n==1 || nums[0]!=nums[1]) return nums[0]; for(int i = 1 ; i < n-1 ; i++) { if(nums[i]!=nums[i-1] && nums[i]!= nums[i+1]) return nums[i]; } return nums[n-1]; } };
擦,居然能用异或,我真的服了,真牛,万万没想到能在这地方看见这东西,贴代码
class Solution { public: int singleNumber(vector<int>& nums) { int ret = 0; for(auto e:nums) ret ^= e; return ret; } };

浙公网安备 33010602011771号