LeetCode-in-All

96. Unique Binary Search Trees

Medium

Given an integer n, return the number of structurally unique BST’s (binary search trees) which has exactly n nodes of unique values from 1 to n.

Example 1:

Input: n = 3

Output: 5

Example 2:

Input: n = 1

Output: 1

Constraints:

Solution

/**
 * @param {number} n
 * @return {number}
 */
var numTrees = function (n) {
    let result = 1

    for (let i = 0; i < n; i++) {
        result *= 2 * n - i
        result /= i + 1
    }

    result /= n + 1
    return Math.floor(result)
};

export { numTrees }