136. Single Number
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.
Β
Example 1:
Input: nums = [2,2,1]
Output: 1
Example 2:
Input: nums = [4,1,2,1,2]
Output: 4
Example 3:
Input: nums = [1]
Output: 1
Β
Constraints:
1 <= nums.length <= 3 * 104-3 * 104 <= nums[i] <= 3 * 104- Each element in the array appears twice except for one element which appears only once.
Solutions
Solution 1: Bitwise Operation
The XOR operation has the following properties:
- Any number XOR 0 is still the original number, i.e., \(x \oplus 0 = x\);
- Any number XOR itself is 0, i.e., \(x \oplus x = 0\);
Performing XOR operation on all elements in the array will result in the number that only appears once.
The time complexity is \(O(n)\), where \(n\) is the length of the array. The space complexity is \(O(1)\).
1 2 3 | |
1 2 3 4 5 6 7 8 9 | |
1 2 3 4 5 6 7 8 9 10 | |
1 2 3 4 5 6 | |
1 2 3 | |
1 2 3 4 5 | |
1 2 3 4 5 6 7 | |
1 2 3 4 5 | |
1 2 3 4 5 6 7 | |
1 2 3 4 5 | |
Solution 2
1 2 3 4 5 | |