Given an array of integers, every element appears twice except for one. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
分析:两个相同的数进行异或,结果为0。对所有数据进行异或,则可以得到所有数字中只出现一次的那个。
运行时间:18ms
1 class Solution { 2 public: 3 int singleNumber(vector<int>& nums) { 4 if(nums.size() == 0) return 0; 5 6 int result = 0; 7 for(int i = 0; i < nums.size(); i++) result ^= nums[i]; 8 9 return result; 10 } 11 };
时间: 2024-10-06 00:40:23