格雷码是一种二进制编码系统,如果任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code)。 给定一个非负整数n,表示代码的位数,打印格雷码的序列。格雷码序列必须以0开头。 例如:给定n=2,返回[0,1,3,2]. 格雷码的序列为: 00 - 0 01 - 1 11 - 3 10 - 2 注意: 对于一个给定的n,格雷码的序列不一定是唯一的, 例如:根据题目描述,[0,2,3,1]也是一个有效的格雷码序列
示例1
输入
2
输出
[0,1,3,2]
加载中...
import java.util.*; public class Solution { /** * * @param n int整型 * @return int整型ArrayList */ public ArrayList
grayCode (int n) { // write code here } }
class Solution { public: /** * * @param n int整型 * @return int整型vector */ vector
grayCode(int n) { // write code here } };
# # # @param n int整型 # @return int整型一维数组 # class Solution: def grayCode(self , n ): # write code here
/** * * @param n int整型 * @return int整型一维数组 */ function grayCode( n ) { // write code here } module.exports = { grayCode : grayCode };
# # # @param n int整型 # @return int整型一维数组 # class Solution: def grayCode(self , n ): # write code here
package main /** * * @param n int整型 * @return int整型一维数组 */ func grayCode( n int ) []int { // write code here }
2
[0,1,3,2]