解题思路:假设n-1的序列为a,b,c,d,那么n的序列即为a,b,c,d,d+2^n,c+2^n,b+2^n,a+2^n。
class Solution {
public:
vector<int> grayCode(int n) {
vector<int> ans;
ans.push_back(0);
int bias = 1;
while (n--) {
int k = ans.size();
while (k) ans.push_back(ans[--k] + bias);
bias *= 2;
}
return ans;
}
};