您的位置:首页 > 其它

89. Gray Code(第十四周)

2017-06-05 15:27 211 查看

分析:
本题要求即为输出格雷码,生成n位格雷码,共计有2^n个。

二进制数转格雷码

(假设以二进制为0的值做为格雷码的0)

G:格雷码 B:二进制码

G(N) = (B(n)/2) XOR B(n)
代码如下:

class Solution 

 {

 public:

     vector<int> grayCode(int n) 

     {

        vector<int> v;

        for(int i = 0; i < 1 << n; ++ i)

           v.push_back(i ^ i >> 1);

        return v;

    }

};

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: