Gray Code

来源:互联网 发布:mac怎么安装第三方软件 编辑:程序博客网 时间:2024/06/10 08:18
Binary Code :1011 要转换成Gray Code

  1011 = 1(照写第一位), 1(第一位与第二位异或 1^0 = 1), 1(第二位异或第三位, 0^1=1), 0 (1^1 =0) = 1110

  其实就等于 (1011 >> 1) ^ 1011 = 1110


class Solution {public:    vector<int> grayCode(int n) {        int size;        vector<int>output;        if(n>0)        {            size=1<<(n);            int i,temp;            for(i=0;i<size;i++)            {                temp=i>>1 ^i;                output.push_back(temp);            }        }else if(n==0)        {            size=0;            output.push_back(0);        }        return output;    }};

0 0