Program to Find the Single Number in an Array LeetCode problem. In this question, we have an array containing numbers in pairs, but a single number appears only once in an array and we need to print that out.

** Note:** Our solution needs to have a

**Linear Runtime Complexity**and without using extra memory i.e

**Constant Space**

### Examples

```
Input: [1,2,3,1,3]
Output: 2
Input:[3]
Output:3
```

## Solution Approach

- Time Complexity O(N)
- Space Complexity O(1)

Space is constant so we cannot sort the array, but we can use the XOR way, recently when I solved a similar problem i.e to find a single missing number in an array, where we use XOR, same numbers cancel each other

```
1^1^2 = 2
1^3^4^1^4 = 3
```

## Code in C++ Single Number Leetode

```
class Solution {
public:
int singleNumber(vector<int>& nums) {
int miss = nums[0];
for(int i = 1; i < nums.size(); i++)
miss ^= nums[i];
return miss;
}
};
```

## Conclusion

Link to Problem Single Number LeetCode, XOR can be very useful in such cases, also read Missing Number LeetCode for more explanation. This post is part of my #30DaysChallenge to write a blog post every day on what I learn.

*All the Best ~ Abhiram Reddy*