思路:查看下n=3,n=4时候的结果,发现规律可用递归方式做。
class Solution {
public:vector<int> grayCode(int n) {
vector<int> result;
if(n <= 0) {
result.push_back(0);
return result;
}
vector<int> result1 = grayCode(n-1);
int end = result1.size() - 1;
int temp = 0;
for(int i=0;i<=end;i++){
result.push_back((result1[i] << 1) | temp);
result.push_back((result1[i] << 1) | ( 1 - temp));
temp = 1 - temp;
}
return result;
}
};
本文介绍了一种使用递归方式生成格雷码序列的方法。通过观察n=3和n=4时的结果,发现规律并利用递归实现。适用于n大于等于0的情况。
1599

被折叠的 条评论
为什么被折叠?



