/**
* @param {number} n
* @return {number[]}
*/
var grayCode = function(n) {
var ret = [0];
for(var i=0 ; i<n ; i++){
var len = ret.length;
for(var j=len-1 ; j>=0 ; j--){
ret.push(ret[j]+Math.pow(2,i));
}
}
return ret;
};