原理 图示 在这个链接里。。。。。。(感谢作者。)
https://blog.csdn.net/u012501459/article/details/46790683
思想: 迭代进化的感觉,找到规律就好做了:
当我们知道了第K次的情况是什么,则k+1次的情况为 ( K次的解) + ( K次解的翻转,然后补最高位1)
class Solution {
public:
vector<int> grayCode(int n) {
vector<int> result(1);
for(int i=0; i< n;++i){
for(int j=result.size()-1;j>=0;--j){
result.push_back(result[j] + (1<<i));
}
}
return result;
}
};