Create Subsets

Given a set of distinct integers, S, return all possible subsets.

Note:

Elements in a subset must be in non-descending order.
The solution set must not contain duplicate subsets.
For example,
If S = [1,2,3], a solution is:

[
  [3],
  [1],
  [2],
  [1,2,3],
  [1,3],
  [2,3],
  [1,2],
  []
]
(注意：1.如何求一个集合的子集 2. 它要求子集是非降序的 3.这里的集合是没有重复元素的，所以这种方案求出的子集也是非重的)