Unique Binary Search Trees(Medium)

题目:Given n, how many structurally unique BST's (binary search trees) that store values 1...n?

For example, Given n = 3, there are a total of 5 unique BST's.

这道题要求可行的二叉查找树的数量,其实二叉查找树可以任意取根,只要满足中序遍历有序的要求就可以

Java代码

public int numTrees(int n) {
    int[] count = new int[n + 1];

    count[0] = 1;
    count[1] = 1;

    for (int i = 2; i <= n; i++) {
        for (int j = 0; j <= i - 1; j++) {
          count[i] = count[i] + count[j] * count[i - j - 1];
        }
    }

    return count[n];
}

results matching ""

    No results matching ""