Gray Code
The gray code is a binary numeral system where two successive values differ in only one bit. n Example 1: Input: Output: [0,1,3,2] Explanation: n , a gray code sequence may not be uniquely defined. For example, [0,2,3,1] is also a valid gray code sequence. 00 - 0 10 - 2 11 - 3 01 - 1 Example 2: Input: Output: 解法:格雷码,详情见维基百科: https://zh.wikipedia.org/zh/%E6%A0%BC%E9%9B%B7%E7%A0%81 class Solution { public List<Integer> grayCode(int n) { List<Integer> res = new ArrayList<>(); int tmp = 0; for(int i=0;i<Math.pow(2,n);i++){ tmp = (i>>1)^i; res.add(tmp); } return res; } } 文章来源: https://blog.csdn.net