Given a non-empty 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?
Example 1:
Input: [2,2,1] Output: 1
Example 2:
Input: [4,1,2,1,2] Output: 4
参考 https://github.com/grandyang/leetcode/issues/136
class Solution { public: int singleNumber(vector<int>& nums) { // 异或 想法(来源于位操作) int res = 0; for (auto& num : nums) { res = res ^ num; } return res; } };