Skip to content

格雷码 ​

相邻两个数的二进制位只有一位不同

cpp
vector<int> gray_code(int n){
	vector<int> res;
	for(int i=0;i<(1<<n);i++){
		res.push_back(i^(i>>1));//第i位即i^(i>>1)
	}
	return res;
}