题目地址: https://leetcode-cn.com/problems/unique-binary-search-trees/
题目描述: 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。
参考代码:
class Solution {
public:
int numTrees(int n) {
vector<int> dp = vector<int>(n+1,0);
// dp[i] 代表 i个不同的数 组成2插搜索数的数量
dp[0] = 1;
for (int i = 1; i<=n; i++) {
for (int j = 1; j<=i; j++) {
dp[i] = dp[i] + dp[j-1] * dp[i-j];
}
}
return dp[n];
}
};