Unique Binary Search Trees
一、题目说明
这道题目是输入一个 n 值,判断 1~n 能构成多少个平衡搜索二叉树。
二、思路
这道题首先需要推倒一下公式:
所以这样思路就很清晰。
三、java代码
public class Solution {
public int numTrees(int n) {
int[] G = new int[n+1];
G[0] = 1; G[1] = 1;
for(int i=2; i<=n; i++) {
for(int j=1; j<=i; j++) {
G[i] += G[j-1] * G[i-j];
}
}
return G[n];
}
}
希望大家多多交流!