Given an array `nums` containing `n` distinct numbers in the range `[0, n]`, return the only number in the range that is missing from the array.
**Example 1:**
```
Input: nums = [3,0,1]
Output: 2
Explanation: n = 3 so range is [0,3]. 2 is missing.
```
**Example 2:**
```
Input: nums = [0,1]
Output: 2
```
**Example 3:**
```
Input: nums = [9,6,4,2,3,5,7,0,1]
Output: 8
```
Could you implement a solution using only O(1) extra space complexity and O(n) runtime?