class Solution {
public:
vector<int> grayCode(int n) {
vector<int> res;
for(int i=0;i<=n;i++)
{
if(res.size()==0)
{res.push_back(0);}
else
{
for(int a=res.size()-1;a>=0;a--)
{
res.push_back(res[a]+2^(i-1));
}
}
}
return res;
}
};