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/mk476734929/article/details/89283904