题目

类型:位运算
image.png

解题思路

知识点:

  • ^(异或运算符)
  • <<左移运算符 <<1意思就是乘2
  • 右移运算符 >>1意思就是除2

image.png
image.png
image.png
image.png
image.png

代码

  1. class Solution {
  2. public List<Integer> grayCode(int n) {
  3. List<Integer> ret = new ArrayList<Integer>();
  4. for (int i = 0; i < 1 << n; i++) {
  5. ret.add((i >> 1) ^ i);
  6. }
  7. return ret;
  8. }
  9. }