【LeetCode】C# 96、Unique Binary Search Trees

来源:互联网 发布:淘宝商城舞蹈鞋 编辑:程序博客网 时间:2024/05/20 20:55

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.

1 3 3 2 1
\ / / / \ \
3 2 1 1 3 2
/ / \ \
2 1 2 3

给定n,判断n个数能组成多少种BST。
思路:核心在于res[i] += res[j]*res[i-j-1];

public class Solution {    public int NumTrees(int n) {        if(n<=0)            return 0;        int[] res = new int[n+1];        res[0] = 1;        res[1] = 1;        for(int i=2;i<=n;i++)        {            for(int j=0;j<i;j++)            {                res[i] += res[j]*res[i-j-1];            }        }        return res[n];    }}
原创粉丝点击