var inorderTraversal = function(root) {
let res = []
const order = root => {
if (root == null) return
root.left && order(root.left)
res.push(root.val)
root.right && order(root.right)
}
order(root)
return res
};
const numTrees =(n) => {
let dp = new Array(n+1).fill(0);
dp[0] = 1;
dp[1] = 1;
for(let i = 2; i <= n; i++) {
for(let j = 1; j <= i; j++) {
dp[i] += dp[j-1] * dp[i-j];
}
}
return dp[n];
};
var rightSideView = function(root) {
let res=[],queue=[];
queue.push(root);
while(queue.length && root !== null){
let len = queue.length;
while(len--){
let node=queue.shift();
if(!len){
res.push(node.val);
}
node.left&&queue.push(node.left);
node.right&&queue.push(node.right);
}
}
return res;
};