题目描述
给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。
解题思路
- 动态规划核心:
- 定义
dp[i]表示i个节点组成的BST数量 - 递推公式:
dp[i] = Σ(dp[j] * dp[i-j-1]),j为左子树节点数
- 定义
- 状态转移原理:
- 枚举每个节点作为根节点
- 左子树节点数
j(0≤j
给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。
dp[i] 表示 i 个节点组成的BST数量dp[i] = Σ(dp[j] * dp[i-j-1]),j 为左子树节点数j(0≤j