题目:96. 不同的二叉搜索树
参考题解:不同的二叉搜索树-代码随想录
提交代码
这道题目没有想出来,看题解之后,自行写了一遍。
核心思想:[1,n]中选取一个值i。i将原区间分成左右子树[1,i-1],[i+1,n]。以i为根节点的二叉搜索树的种数,为左右子树种数的乘积。分别以[1,n]中每个节点为根,进行求和累计。
代码实现如下。
class Solution { public: int numTrees(int n) { vectordp(n+1,0); dp[0] = 1; for(int val=1; val<=n; val++){ for(int i=0; i 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)