Unique Binary Search Trees

int numTrees(int n) {

vector<int> f(n+1,0);

f[0]=1;

f[1]=1;

for(int i=2;i<=n;i++){

//i as root

for(int j=0;j<=i;j++){

f[i]+=f[j-1]*f[i-j];

}

}

return f[n];

}

Last updated

Was this helpful?