JSFiddle - React, Tailwind, and code Playground

HTML

<div id="output"></div>

JavaScript

var TreeNode = function(left, right, operator) {
    this.left = left;
    this.right = right;
    this.operator = operator;
    
    this.toString = function() {
        return '(' + left + ' ' + operator + ' ' + right + ')';
    }
}

function randomNumberRange(min, max) {
	return Math.floor(Math.random() * (max - min) + min);
}

var x = ['/','*','-','+'];

function buildTree(numNodes) {
    if (numNodes === 1)
        return randomNumberRange(1, 100);
    
    var numLeft = Math.floor(numNodes / 2);
    var leftSubTree = buildTree(numLeft);
    var numRight = Math.ceil(numNodes / 2);
    var rightSubTree = buildTree(numRight);
    
    var m = randomNumberRange(0, x.length);
    var str = x[m];
    return new TreeNode(leftSubTree, rightSubTree, str);
}

var input = 'level 5';
input = input.split(' ');
var n = Number(input[1]);

$('#output').text(buildTree(n).toString());