題目描述
給定一個(gè)值n,能構(gòu)建出多少不同的值包含1...n的二叉搜索樹(BST)?
例如
給定 n = 3, 有五種不同的二叉搜索樹(BST)
class Solution {
public:
int numTrees(int n)
{
if(n == 0 || n == 1)
return 1;
int ans = 0;
for(int i = 1; i <= n; i++)
ans = ans + numTrees(i-1) * numTrees(n-i);
return ans;
}
};