89. Gray Code

2019-06-05  本文已影响0人  jecyhw

题目链接

https://leetcode.com/problems/gray-code/

思路

假设n-1已经求好了,要得到n,只需要对n-1的所有数从最后一个数往前都加上2的n-1次方放到答案列表里即可。

代码

class Solution {
public:
    vector<int> grayCode(int n) {
        vector<int> ans;
        ans.push_back(0);
        int it = 1, len;
        while (n--) {
            for (int i = ans.size() - 1; i >= 0; --i) {
                ans.push_back(it + ans[i]);
            }
            it <<= 1;
        }
        return ans;
    }
};
上一篇下一篇

猜你喜欢

热点阅读