原题链接 Note : 对称过来之后,上面加0,下面加个1就是满足的编码了 代码如下: class Solution { public: vector<int> grayCode(int n) { vector<int> ans(1); ans.push_back(1); if(n == 1) return ans; for(int i = 2; i <= n; i ++){ for(int i = ans.size() - 1; i >= 0; i --){ ans.push_back(ans[i] * 2 + 1); ans[i] *= 2; } } return ans; } };