For each element, you have two choices: include it or exclude it. This naturally forms a binary decision tree.
Start with an empty current subset.
At each position, either include nums[i] and recurse, or skip it and recurse.
When you've processed all elements, add current subset to results.
The number of subsets is .