[LeetCode] 89. Gray Code
2017-07-25 21:37
429 查看
The gray code is a binary numeral system where two successive values differ in only one bit.
Given a non-negative integer n representing the total number of bits in the code, print the sequence of gray code. A gray code sequence must begin with 0.
For example, given n = 2, return [0,1,3,2]. Its gray code sequence is:
Note:
For a given n, a gray code sequence is not uniquely defined.
For example, [0,2,3,1] is also a valid gray code sequence according to the above definition.
Given a non-negative integer n representing the total number of bits in the code, print the sequence of gray code. A gray code sequence must begin with 0.
For example, given n = 2, return [0,1,3,2]. Its gray code sequence is:
00 - 0 01 - 1 11 - 3 10 - 2
Note:
For a given n, a gray code sequence is not uniquely defined.
For example, [0,2,3,1] is also a valid gray code sequence according to the above definition.
// 3ms class Solution { public: vector<int> grayCode(int n) { vector<int> res; int code = 0; if (n > 0) grayCode(res, code, n - 1); return res; } private: void grayCode(vector<int>& res, int& code, int nth_bit) { if (nth_bit < 0) { res.push_back(code); return; } grayCode(res, code, nth_bit - 1); code ^= (1 << nth_bit); grayCode(res, code, nth_bit - 1); } };
相关文章推荐
- [LeetCode] 89. Gray Code
- [LeetCode]89. Gray Code
- LeetCode 89. Gray Code
- [Leetcode] 89. Gray Code
- leetcode 89. Gray Code
- leetcode_middle_47_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
- leetcode-89. Gray Code
- [leetcode] 89. Gray Code
- Leetcode题解 - 89. Gray Code
- Leetcode--89. Gray Code
- Leetcode 89. Gray Code
- leetcode 89. Gray Code
- LeetCode --- 89. Gray Code
- 个人记录-LeetCode 89. Gray Code