这种强烈找规律的题目基本面试面到就挂,看了网上答案
1 class Solution { 2 public: 3 vector<int> grayCode(int n) { 4 // Start typing your C/C++ solution below 5 // DO NOT write int main() function 6 vector<int> ret; 7 int size = 1 << n; 8 for(int i = 0; i < size; ++i) 9 ret.push_back((i >> 1)^i); 10 return ret; 11 } 12 };
C#
1 public class Solution { 2 public List<int> GrayCode(int n) { 3 List<int> ans = new List<int>(); 4 int size = 1 << n; 5 for (int i = 0; i < size; i++) { 6 ans.Add((i >> 1) ^ i); 7 } 8 return ans; 9 } 10 }