Leetcode: 不同的二叉搜索树

22 阅读2分钟

原题:leetcode.cn/problems/un…

题目描述

给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。

解题思路

  1. 动态规划核心
    • 定义 dp[i] 表示 i 个节点组成的BST数量
    • 递推公式:dp[i] = Σ(dp[j] * dp[i-j-1])j 为左子树节点数
  2. 状态转移原理
    • 枚举每个节点作为根节点
    • 左子树节点数 j(0≤j