0136-Single-Number

Problem Description

Given a non-empty array of integers nums, every element appears twice except for one. Find that single one.

You must implement a solution with a linear runtime complexity and use only constant extra space.

Solution

// Time: O(n)
// Space: O(1)
int singleNumber(vector<int> &nums) {
  return std::accumulate(nums.begin(), nums.end(), 0,
                         [](int res, int n) { return res ^ n; });
}