89. Gray Code
2018-01-18 11:42
148 查看
思路:查看下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;
}
};
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;
}
};
相关文章推荐
- 89. Gray Code (Bit)
- 89. Gray Code
- 89. Gray Code
- 89. Gray Code(第十四周)
- 89. Gray Code
- 89. Gray Code
- 89. Gray Code
- 89. Gray Code
- 89. Gray Code
- 89. Gray Code
- leetcode-89. Gray Code
- Leetcode--89. Gray Code
- [Leetcode]@python 89. Gray Code
- LeetCode 89. Gray Code
- Leetcode 89. Gray Code
- LeetCode 89. Gray Code
- 【LeetCode】89. Gray Code
- 递归算法+奇妙规律 89. Gray Code
- [leetcode]89. Gray Code
- [LeetCode] 89. Gray Code