96. 不同的二叉搜索树
Posted Debroon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了96. 不同的二叉搜索树相关的知识,希望对你有一定的参考价值。
96. 不同的二叉搜索树
题目
传送门:https://leetcode.cn/problems/unique-binary-search-trees/
算法设计:动态规划
如果整数 1 ~ n 中的 k 作为根节点值,如 n = 3 时,k = 1、2、3:
- 1 为根节点时BST数量
- 2 为根节点时BST数量
- 3 为根节点时BST数量
- 定义状态 dp[i],为 i 为根节点时BST数量
那 dp[i] 从哪里来?
class Solution
public:
int numTrees(int n)
vector<int> dp(n + 1);
dp[0] = 1;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= i; j++)
dp[i] += dp[j - 1] * dp[i - j];
return dp[n];
;
以上是关于96. 不同的二叉搜索树的主要内容,如果未能解决你的问题,请参考以下文章