算法系列——不同的二叉搜索树(Unique Binary Search Trees)
Posted BridgeGeorge
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法系列——不同的二叉搜索树(Unique Binary Search Trees)相关的知识,希望对你有一定的参考价值。
题目
给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。
解答
public class Solution
public int numTrees(int n)
// dp[i] 表示 i个结点 组成二叉搜索树数量
// f(i) 表示 i为root 的
//dp[i]=sum(dp[j]*dp[i-j]) j[0,i];
int[] dp=new int[n+1];
int result=0;
dp[0]=1;
dp[1]=1;
for(int i=1;i<=n;i++)
for(int j=0;j<=i;j++)
dp[i]+=dp[j]*dp[i-j-1];
return dp[n];
以上是关于算法系列——不同的二叉搜索树(Unique Binary Search Trees)的主要内容,如果未能解决你的问题,请参考以下文章