LeetCode --- Gray Code

题目链接

一道关于格雷码的题目, 给出n, 输出n位的格雷码。 关于格雷码的详细说明和计算方法请右键:Wiki

附上代码:

 1 class Solution {
 2 public:
 3     vector<int> grayCode(int n) {
 4         vector<int> ans(1);
 5         if (n >= 1) {
 6             //ans.push_back(0);
 7             ans.push_back(1);
 8         }
 9         for (int i = 2; i <= n; i++) { 
10             for (int j = (1<<(i-1))-1; j >= 0; j--) {
11                 ans.push_back(ans[j]+(1<<(i-1)));
12             }
13         }
14         
15         return ans;
16     }
17 };

 

 

posted on 2014-05-08 18:50  Stomach_ache  阅读(118)  评论(0编辑  收藏  举报

导航